From 5facdea62eac7a8b40c24cd4038ab6786c63431e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20Lind?= Date: Tue, 7 Apr 2020 13:53:26 +0200 Subject: [PATCH] cpp-rest-sdk uses boost so we need to handle it as best as we can --- CMake/BuildAzure.cmake | 7 ++++++- CMake/BuildCppRestSdk.cmake | 7 ++++++- src/OpenVDS/CMakeLists.txt | 4 +++- tests/CMakeLists.txt | 3 +++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/CMake/BuildAzure.cmake b/CMake/BuildAzure.cmake index 9a2480c9..3dabea2d 100644 --- a/CMake/BuildAzure.cmake +++ b/CMake/BuildAzure.cmake @@ -16,7 +16,12 @@ function(BuildAzure) else() set(cmake_arg -DCASABLANCA_DIR=${cpp-rest-api_INSTALL_INT_CONFIG}) endif() - BuildExternal(azure-storage ${azure-storage-cpp_VERSION} cpp-rest-api ${AzureCmakeDir} "${AZURE_LIBS_LIST}" "${AZURE_DLLS_LIST}" "" "" "${cmake_arg}") + if (BOOST_ROOT) + set(BOOST_FLAGS ";-DBOOST_ROOT=${BOOST_ROOT};") + elseif(BOOST_INCLUDEDIR) + set(BOOST_FLAGS ";-DBOOST_INCLUDEDIR=${BOOST_INCLUDEDIR};-DBOOST_LIBRARYDIR=${BOOST_LIBRARYDIR};") + endif() + BuildExternal(azure-storage ${azure-storage-cpp_VERSION} cpp-rest-api ${AzureCmakeDir} "${AZURE_LIBS_LIST}" "${AZURE_DLLS_LIST}" "" "" "${cmake_arg}${BOOST_FLAGS}") endfunction() diff --git a/CMake/BuildCppRestSdk.cmake b/CMake/BuildCppRestSdk.cmake index b10ce357..9897d249 100644 --- a/CMake/BuildCppRestSdk.cmake +++ b/CMake/BuildCppRestSdk.cmake @@ -16,7 +16,12 @@ function(BuildCppRestSdk) list(APPEND CPPRESTSDK_LIBS_LIST_RELEASE "lib${LIBSUFFIX}/libcpprest.so.2.10") list(APPEND CPPRESTSDK_LIBS_LIST_RELEASE "lib${LIBSUFFIX}/libcpprest.so") endif() - BuildExternal(cpp-rest-api ${cpprestapi_VERSION} "" ${cpprestapi_SOURCE_DIR} "${CPPRESTSDK_LIBS_LIST_RELEASE}" "${CPPRESTSDK_DLLS_LIST_RELEASE}" "${CPPRESTSDK_LIBS_LIST_DEBUG}" "${CPPRESTSDK_DLLS_LIST_DEBUG}" "-DCPPREST_EXCLUDE_WEBSOCKETS=ON;-DCPPREST_EXCLUDE_COMPRESSION=ON;-DCPPREST_EXCLUDE_BROTLI=ON;-DWERROR=OFF;-DBUILD_TESTS=OFF;-DBUILD_SAMPLES=OFF") + if (BOOST_ROOT) + set(BOOST_FLAGS ";-DBOOST_ROOT=${BOOST_ROOT};") + elseif(BOOST_INCLUDEDIR) + set(BOOST_FLAGS ";-DBOOST_INCLUDEDIR=${BOOST_INCLUDEDIR};-DBOOST_LIBRARYDIR=${BOOST_LIBRARYDIR};") + endif() + BuildExternal(cpp-rest-api ${cpprestapi_VERSION} "" ${cpprestapi_SOURCE_DIR} "${CPPRESTSDK_LIBS_LIST_RELEASE}" "${CPPRESTSDK_DLLS_LIST_RELEASE}" "${CPPRESTSDK_LIBS_LIST_DEBUG}" "${CPPRESTSDK_DLLS_LIST_DEBUG}" "-DCPPREST_EXCLUDE_WEBSOCKETS=ON;-DCPPREST_EXCLUDE_COMPRESSION=ON;-DCPPREST_EXCLUDE_BROTLI=ON;-DWERROR=OFF;-DBUILD_TESTS=OFF;-DBUILD_SAMPLES=OFF${BOOST_FLAGS}") set(cpp-rest-api_INSTALL_INT_CONFIG ${cpp-rest-api_INSTALL_INT_CONFIG} PARENT_SCOPE) #add_definitions(-DUSE_IMPORT_EXPORT) diff --git a/src/OpenVDS/CMakeLists.txt b/src/OpenVDS/CMakeLists.txt index 044dce2d..26a5c00c 100644 --- a/src/OpenVDS/CMakeLists.txt +++ b/src/OpenVDS/CMakeLists.txt @@ -145,7 +145,9 @@ endif() #Azure storage exposes boost_system on linux et al. if (UNIX) - target_link_libraries(openvds_objects PUBLIC boost_system) + find_package(Boost REQUIRED COMPONENTS system date_time regex) + set_source_files_properties(IO/IOManager.cpp PROPERTIES COMPILE_FLAGS -I${Boost_INCLUDE_DIR}) + set_source_files_properties(IO/IOManagerAzure.cpp PROPERTIES COMPILE_FLAGS -I${Boost_INCLUDE_DIR}) endif() if (OpenMP_CXX_FOUND) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 9f4b6177..35d06866 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -37,6 +37,9 @@ add_test_executable(io_tests io/InMemoryIo.cpp io/AzureIo.cpp ) +if (UNIX) + set_source_files_properties(io/AzureIo.cpp PROPERTIES COMPILE_FLAGS -I${Boost_INCLUDE_DIR}) +endif() add_test_executable(io_performance_test io/IoPerformance.cpp -- GitLab