From 4ec6a26d91e1c201ae79134a176093eac249e911 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Tue, 25 Jul 2023 15:09:56 +0200 Subject: [PATCH] start with gh ci --- .github/workflows/ci.yml | 74 +++++++++++++++++++++++++++++++++ external/toxcore/CMakeLists.txt | 17 ++++++-- 2 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..ba80d27f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,74 @@ +name: ContinuousIntegration + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +env: + BUILD_TYPE: Debug + +jobs: + linux: + timeout-minutes: 10 + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Dependencies + run: sudo apt update && sudo apt -y install libsodium-dev + + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 + + macos: + timeout-minutes: 10 + + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Dependencies + run: brew install libsodium + + - name: Configure CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 + + windows: + timeout-minutes: 10 + + runs-on: windows-latest + + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - name: Install Dependencies + run: vcpkg install libsodium:x64-windows-static pthreads:x64-windows-static + + # setup vs env + - uses: ilammy/msvc-dev-cmd@v1 + with: + arch: amd64 + + - name: Configure CMake + run: cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static + + - name: Build + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j 4 + diff --git a/external/toxcore/CMakeLists.txt b/external/toxcore/CMakeLists.txt index 181f4726..45fade7a 100644 --- a/external/toxcore/CMakeLists.txt +++ b/external/toxcore/CMakeLists.txt @@ -160,7 +160,12 @@ target_compile_definitions(toxcore PUBLIC MIN_LOGGER_LEVEL=LOGGER_LEVEL_INFO) find_package(unofficial-sodium CONFIG QUIET) find_package(sodium QUIET) if(unofficial-sodium_FOUND) # vcpkg - target_link_libraries(toxcore unofficial-sodium::sodium unofficial-sodium::sodium_config_public) + if(TARGET unofficial-sodium::sodium) + target_link_libraries(toxcore unofficial-sodium::sodium) + endif() + if(TARGET unofficial-sodium::sodium_config_public) + target_link_libraries(toxcore unofficial-sodium::sodium_config_public) + endif() elseif(sodium_FOUND) target_link_libraries(toxcore sodium) else() @@ -171,8 +176,14 @@ if(WIN32) target_link_libraries(toxcore ws2_32 iphlpapi) endif() -find_package(Threads REQUIRED) -target_link_libraries(toxcore Threads::Threads) +find_package(pthreads QUIET) +if(TARGET PThreads4W::PThreads4W) + target_link_libraries(toxcore PThreads4W::PThreads4W) +else() + set(THREADS_PREFER_PTHREAD_FLAG ON) + find_package(Threads REQUIRED) + target_link_libraries(toxcore Threads::Threads) +endif() add_executable(DHT_Bootstrap EXCLUDE_FROM_ALL ${TOX_DIR}other/DHT_bootstrap.c