diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 59483c4..51bc22a 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: install dependencies - run: sudo apt-get update && sudo apt-get -y install cmake libopencv-dev libspdlog-dev libargparse-dev libcpp-httplib-dev + run: sudo apt-get -y install cmake libopencv-dev libspdlog-dev libargparse-dev - uses: actions/cache@v4 with: path: build diff --git a/CMakeLists.txt b/CMakeLists.txt index 50c8312..82bf47a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,29 +28,39 @@ find_package(spdlog REQUIRED) find_package(Catch2 REQUIRED) # httplib -find_package(httplib REQUIRED) +find_package(httplib QUIET) # init all executables -foreach(exe Sender Receiver SenderWeb) -add_executable(${exe} src/${exe}.cpp ${PROJECT_IMPLEMENTATIONS}) - -# Linking -target_link_libraries(${exe} - ${OpenCV_LIBS} - argparse::argparse - spdlog::spdlog - httplib::httplib -) +foreach(exe Sender Receiver) + add_executable(${exe} src/${exe}.cpp ${PROJECT_IMPLEMENTATIONS}) + + # Linking + target_link_libraries(${exe} + ${OpenCV_LIBS} + argparse::argparse + spdlog::spdlog + ) endforeach() +# optionally compile the UI +if (httplib_FOUND) + add_executable(SenderWeb src/SenderWeb.cpp ${PROJECT_IMPLEMENTATIONS}) + target_link_libraries(SenderWeb + ${OpenCV_LIBS} + argparse::argparse + spdlog::spdlog + httplib::httplib + ) +endif() + # Tests enable_testing() foreach(test ffmpeg utils hyperwall settings) -add_executable(test_${test} src/test/${test}.cpp ${PROJECT_IMPLEMENTATIONS}) -target_link_libraries(test_${test} - ${OpenCV_LIBS} - spdlog::spdlog - Catch2::Catch2WithMain -) -add_test(NAME ${test} COMMAND test_${test}) + add_executable(test_${test} src/test/${test}.cpp ${PROJECT_IMPLEMENTATIONS}) + target_link_libraries(test_${test} + ${OpenCV_LIBS} + spdlog::spdlog + Catch2::Catch2WithMain + ) + add_test(NAME ${test} COMMAND test_${test}) endforeach() diff --git a/flake.nix b/flake.nix index 8bb791c..f0fe32b 100644 --- a/flake.nix +++ b/flake.nix @@ -20,6 +20,8 @@ argparse catch2_3 httplib + gcc + openssl ]; }; }) {