diff --git a/Dockerfile b/Dockerfile index ce82ccb..7227f2d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,6 @@ ARG DEBIAN_FRONTEND=noninteractive # C++ and Python RUN apt-get update \ && apt-get install -y \ - libboost-all-dev \ python3.9 \ python3-pip \ clang-14 \ diff --git a/compare_hashes/CMakeLists.txt b/compare_hashes/CMakeLists.txt new file mode 100644 index 0000000..db27845 --- /dev/null +++ b/compare_hashes/CMakeLists.txt @@ -0,0 +1,37 @@ +cmake_minimum_required(VERSION 3.16) +project(Lichen) +set(CMAKE_CXX_STANDARD 14) + +set(Boost_USE_STATIC_LIBS ON) +find_package(Boost REQUIRED COMPONENTS + system + filesystem +) + +link_libraries("-static") + +add_executable(Lichen + compare_hashes.cpp + submission.cpp +) + +target_link_libraries(Lichen + Boost::system + Boost::filesystem +) + +target_compile_options(Lichen PRIVATE + -Wall + -Wextra + -Werror + -g + -O3 + -funroll-loops +) +target_link_options(Lichen PRIVATE + -flto +) + +include_directories(/usr/local/submitty/Lichen/vendor) + +set_target_properties(Lichen PROPERTIES OUTPUT_NAME compare_hashes.out) diff --git a/install_lichen.sh b/install_lichen.sh index f51d6b9..8532ec0 100755 --- a/install_lichen.sh +++ b/install_lichen.sh @@ -54,8 +54,9 @@ fi #################################################################################################### # compile & install the hash comparison tool -pushd "${lichen_repository_dir}" > /dev/null -clang++ -I "${lichen_vendor_dir}" -lboost_system -lboost_filesystem -Wall -Wextra -Werror -g -O3 -flto -funroll-loops -std=c++11 compare_hashes/compare_hashes.cpp compare_hashes/submission.cpp -o "${lichen_installation_dir}/compare_hashes/compare_hashes.out" +pushd "${lichen_installation_dir}/compare_hashes" > /dev/null +cmake "$lichen_repository_dir/compare_hashes" +cmake --build . --parallel "$(nproc)" if [ "$?" -ne 0 ]; then echo -e "ERROR: FAILED TO BUILD HASH COMPARISON TOOL\n" exit 1