From bd349556f0966761bf2a3abe744a836eee874c12 Mon Sep 17 00:00:00 2001 From: Lion Date: Tue, 2 Feb 2021 00:50:27 +0100 Subject: [PATCH] Actions fix (#11) * update workflows to accomodate new requirements * add boost to vkpkg * try without boost again * use boost just boost * might cache vcpkg or might not idk * dont pull everything in boost * clean up includes * fix 1 * fix 2 * fix 3 * fix 4 * fix id 6 * remove libssl again * move to boost 1.71 * add boost to windows cmake * change from boost 1.71 to 1.70 * fix cmake again * remove version because f cmake * remove stuff again * fix my mistakes * fix linker args for unix * openssl * add openssl to vcpkg * uhh change whats linked * rename OpenSSL to OPENSSL???? --- .github/workflows/cmake-linux.yml | 6 +++++- .github/workflows/cmake-windows.yml | 5 +++-- CMakeLists.txt | 14 +++++++------- src/Network/Http.cpp | 9 ++------- src/main.cpp | 6 ------ 5 files changed, 17 insertions(+), 23 deletions(-) diff --git a/.github/workflows/cmake-linux.yml b/.github/workflows/cmake-linux.yml index d96b2cb..33023ef 100644 --- a/.github/workflows/cmake-linux.yml +++ b/.github/workflows/cmake-linux.yml @@ -13,7 +13,11 @@ jobs: - uses: actions/checkout@v2 - name: Install Dependencies - run: sudo apt-get update && sudo apt-get install -y libz-dev rapidjson-dev libcurl4-openssl-dev liblua5.3 + run: | + sudo apt-get update + sudo apt-get install -y libz-dev rapidjson-dev liblua5.3 libssl-dev + sudo add-apt-repository ppa:mhier/libboost-latest + sudo apt-get install -y libboost1.70-dev libboost1.70 - name: Create Build Environment run: cmake -E make_directory ${{github.workspace}}/build-linux diff --git a/.github/workflows/cmake-windows.yml b/.github/workflows/cmake-windows.yml index 014aea7..b372ef9 100644 --- a/.github/workflows/cmake-windows.yml +++ b/.github/workflows/cmake-windows.yml @@ -17,15 +17,16 @@ jobs: uses: lukka/run-vcpkg@main id: runvcpkg with: - vcpkgArguments: 'lua zlib rapidjson curl' + vcpkgArguments: 'lua zlib rapidjson boost-beast boost-asio openssl' vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' vcpkgGitCommitId: '30124253eecff36bc90f73341edbfb4f845e2a1e' vcpkgTriplet: 'x64-windows-static' + appendedCacheKey: ${{ hashFiles( '**/vcpkg_manifest/vcpkg.json' ) }} + additionalCachedPaths: ${{ env.buildDir }}/vcpkg_installed - name: Create Build Environment run: cmake -E make_directory ${{github.workspace}}/build-windows -# - name: Configure CMake shell: bash working-directory: ${{github.workspace}}/build-windows diff --git a/CMakeLists.txt b/CMakeLists.txt index 98d287f..b77e4be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ elseif (WIN32) #-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static endif () -#find_package(Boost 1.70.0 REQUIRED COMPONENTS system thread) +find_package(Boost REQUIRED COMPONENTS system thread) file(GLOB source_files "src/*.cpp" "include/*.h" "include/*/*.h" "include/*/*/*.h" "include/*.hpp" "include/*/*.hpp" "src/*/*.cpp") add_executable(BeamMP-Server ${source_files}) @@ -28,16 +28,16 @@ add_executable(BeamMP-Server ${source_files}) target_include_directories(BeamMP-Server PUBLIC $) find_package(Lua REQUIRED) -target_include_directories(BeamMP-Server PUBLIC ${LUA_INCLUDE_DIR}) +target_include_directories(BeamMP-Server PUBLIC ${Boost_INCLUDE_DIRS} ${LUA_INCLUDE_DIR}) + +find_package(OpenSSL REQUIRED) if (UNIX) - target_link_libraries(BeamMP-Server z pthread stdc++fs ${Boost_LINK_DIRS} ${LUA_LIBRARIES} curl dl crypto ssl) + target_link_libraries(BeamMP-Server z pthread stdc++fs ${Boost_LINK_DIRS} ${LUA_LIBRARIES} dl crypto ${OPENSSL_LIBRARIES} ${Boost_LIBRARIES}) elseif (WIN32) include(FindLua) find_package(ZLIB REQUIRED) - find_package(CURL CONFIG REQUIRED) find_package(RapidJSON CONFIG REQUIRED) - target_include_directories(BeamMP-Server PRIVATE ${RAPIDJSON_INCLUDE_DIRS}) - target_link_libraries(BeamMP-Server PRIVATE ws2_32 CURL::libcurl ZLIB::ZLIB ${LUA_LIBRARIES}) - #${Boost_LINK_DIRS} + target_include_directories(BeamMP-Server PRIVATE ${RAPIDJSON_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) + target_link_libraries(BeamMP-Server PRIVATE ws2_32 ZLIB::ZLIB ${LUA_LIBRARIES} ${Boost_LIBRARIES} ${OPENSSL_LIBRARIES}) endif () diff --git a/src/Network/Http.cpp b/src/Network/Http.cpp index c7bbfeb..729befe 100644 --- a/src/Network/Http.cpp +++ b/src/Network/Http.cpp @@ -11,13 +11,8 @@ #include #include -#include -#include -#include -#include +#include #include -#include -#include #include #include #include @@ -118,7 +113,7 @@ std::string PostHTTP(const std::string& host, const std::string& target, const s } else { req.set(http::field::content_type, "application/x-www-form-urlencoded"); } - req.set(http::field::content_length, boost::lexical_cast(body.size())); + req.set(http::field::content_length, std::to_string(body.size())); req.body() = body; // info("body is " + body + " (" + req.body() + ")"); // info("content size is " + std::to_string(body.size()) + " (" + boost::lexical_cast(body.size()) + ")"); diff --git a/src/main.cpp b/src/main.cpp index a669e0c..4223810 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,7 +1,6 @@ #include "CustomAssert.h" #include "Startup.h" -#include #include #include #ifndef WIN32 @@ -33,9 +32,6 @@ int main(int argc, char* argv[]) { signal(SIGPIPE, UnixSignalHandler); #endif // WIN32 DebugPrintTID(); - // curl needs to be initialized to properly deallocate its resources later - [[maybe_unused]] auto ret = curl_global_init(CURL_GLOBAL_DEFAULT); - Assert(ret == CURLE_OK); #ifdef DEBUG std::thread t1(loop); t1.detach(); @@ -48,7 +44,5 @@ int main(int argc, char* argv[]) { HBInit(); StatInit(); NetMain(); - // clean up curl at the end to be sure - curl_global_cleanup(); return 0; }