This is an automated email from the ASF dual-hosted git repository. adebreceni pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git
commit 1d3b2fcbfad7baba50e045748f27c4c900517310 Author: Gabor Gyimesi <[email protected]> AuthorDate: Fri Apr 1 12:55:49 2022 +0200 MINIFICPP-1792 Fix build with cmake 3.23.0 Signed-off-by: Adam Debreceni <[email protected]> This closes #1292 --- cmake/BundledAwsSdkCpp.cmake | 60 ++++++++++++++++++++------------------- cmake/BundledAzureSdkCpp.cmake | 24 ++++++++-------- cmake/BundledCivetWeb.cmake | 10 +++---- cmake/BundledLibSSH2.cmake | 4 ++- cmake/BundledLibcURL.cmake | 4 ++- cmake/BundledOpen62541.cmake | 4 ++- cmake/BundledOpenCV.cmake | 64 ++++++++++++++++++++++-------------------- cmake/BundledRocksDB.cmake | 4 ++- cmake/BundledSpdlog.cmake | 6 ++-- cmake/BundledYamlCpp.cmake | 8 ++++-- 10 files changed, 103 insertions(+), 85 deletions(-) diff --git a/cmake/BundledAwsSdkCpp.cmake b/cmake/BundledAwsSdkCpp.cmake index 8960bf9..aeb072c 100644 --- a/cmake/BundledAwsSdkCpp.cmake +++ b/cmake/BundledAwsSdkCpp.cmake @@ -25,9 +25,11 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR) (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE3}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE3}\") ") if (WIN32) - set(CMAKE_INSTALL_LIBDIR "lib") + set(LIBDIR "lib") else() include(GNUInstallDirs) + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) endif() # Define byproducts @@ -40,22 +42,22 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR) endif() if (NOT WIN32 AND NOT APPLE) - list(APPEND BYPRODUCTS "${CMAKE_INSTALL_LIBDIR}/${PREFIX}s2n.${SUFFIX}") + list(APPEND BYPRODUCTS "${LIBDIR}/${PREFIX}s2n.${SUFFIX}") endif() list(APPEND BYPRODUCTS - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-s3.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-crt-cpp.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-mqtt.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-io.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-http.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-auth.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-cal.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-compression.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-core.${SUFFIX}" - "${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-s3.${SUFFIX}") + "${LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-s3.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-crt-cpp.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-mqtt.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-io.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-http.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-auth.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-cal.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-c-compression.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-cpp-sdk-core.${SUFFIX}" + "${LIBDIR}/${PREFIX}aws-cpp-sdk-s3.${SUFFIX}") FOREACH(BYPRODUCT ${BYPRODUCTS}) LIST(APPEND AWSSDK_LIBRARIES_LIST "${BINARY_DIR}/thirdparty/libaws-install/${BYPRODUCT}") @@ -103,19 +105,19 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR) file(MAKE_DIRECTORY ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-c-common STATIC IMPORTED) - set_target_properties(AWS::aws-c-common PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}") + set_target_properties(AWS::aws-c-common PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-common.${SUFFIX}") add_dependencies(AWS::aws-c-common aws-sdk-cpp-external) target_include_directories(AWS::aws-c-common INTERFACE ${LIBAWS_INCLUDE_DIR}) if (NOT WIN32 AND NOT APPLE) add_library(AWS::s2n STATIC IMPORTED) - set_target_properties(AWS::s2n PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}s2n.${SUFFIX}") + set_target_properties(AWS::s2n PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}s2n.${SUFFIX}") add_dependencies(AWS::s2n aws-sdk-cpp-external) target_include_directories(AWS::s2n INTERFACE ${LIBAWS_INCLUDE_DIR}) endif() add_library(AWS::aws-c-io STATIC IMPORTED) - set_target_properties(AWS::aws-c-io PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-io.${SUFFIX}") + set_target_properties(AWS::aws-c-io PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-io.${SUFFIX}") add_dependencies(AWS::aws-c-io aws-sdk-cpp-external) target_include_directories(AWS::aws-c-io INTERFACE ${LIBAWS_INCLUDE_DIR}) target_link_libraries(AWS::aws-c-io INTERFACE AWS::aws-c-common) @@ -124,55 +126,55 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR) endif() add_library(AWS::aws-checksums STATIC IMPORTED) - set_target_properties(AWS::aws-checksums PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}") + set_target_properties(AWS::aws-checksums PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-checksums.${SUFFIX}") add_dependencies(AWS::aws-checksums aws-sdk-cpp-external) target_include_directories(AWS::aws-checksums INTERFACE ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-c-event-stream STATIC IMPORTED) - set_target_properties(AWS::aws-c-event-stream PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}") + set_target_properties(AWS::aws-c-event-stream PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-event-stream.${SUFFIX}") add_dependencies(AWS::aws-c-event-stream aws-sdk-cpp-external) target_include_directories(AWS::aws-c-event-stream INTERFACE ${LIBAWS_INCLUDE_DIR}) target_link_libraries(AWS::aws-c-event-stream INTERFACE AWS::aws-checksums AWS::aws-c-io) add_library(AWS::aws-c-auth STATIC IMPORTED) - set_target_properties(AWS::aws-c-auth PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-auth.${SUFFIX}") + set_target_properties(AWS::aws-c-auth PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-auth.${SUFFIX}") add_dependencies(AWS::aws-c-auth aws-sdk-cpp-external) target_include_directories(AWS::aws-c-auth INTERFACE ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-c-s3 STATIC IMPORTED) - set_target_properties(AWS::aws-c-s3 PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-s3.${SUFFIX}") + set_target_properties(AWS::aws-c-s3 PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-s3.${SUFFIX}") add_dependencies(AWS::aws-c-s3 aws-sdk-cpp-external) target_include_directories(AWS::aws-c-s3 INTERFACE ${LIBAWS_INCLUDE_DIR}) target_link_libraries(AWS::aws-c-s3 INTERFACE AWS::aws-c-auth) add_library(AWS::aws-c-mqtt STATIC IMPORTED) - set_target_properties(AWS::aws-c-mqtt PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-mqtt.${SUFFIX}") + set_target_properties(AWS::aws-c-mqtt PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-mqtt.${SUFFIX}") add_dependencies(AWS::aws-c-mqtt aws-sdk-cpp-external) target_include_directories(AWS::aws-c-mqtt INTERFACE ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-c-http STATIC IMPORTED) - set_target_properties(AWS::aws-c-http PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-http.${SUFFIX}") + set_target_properties(AWS::aws-c-http PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-http.${SUFFIX}") add_dependencies(AWS::aws-c-http aws-sdk-cpp-external) target_include_directories(AWS::aws-c-http INTERFACE ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-c-cal STATIC IMPORTED) - set_target_properties(AWS::aws-c-cal PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-cal.${SUFFIX}") + set_target_properties(AWS::aws-c-cal PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-cal.${SUFFIX}") add_dependencies(AWS::aws-c-cal aws-sdk-cpp-external) target_include_directories(AWS::aws-c-cal INTERFACE ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-c-compression STATIC IMPORTED) - set_target_properties(AWS::aws-c-compression PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-c-compression.${SUFFIX}") + set_target_properties(AWS::aws-c-compression PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-c-compression.${SUFFIX}") add_dependencies(AWS::aws-c-compression aws-sdk-cpp-external) target_include_directories(AWS::aws-c-compression INTERFACE ${LIBAWS_INCLUDE_DIR}) add_library(AWS::aws-crt-cpp STATIC IMPORTED) - set_target_properties(AWS::aws-crt-cpp PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-crt-cpp.${SUFFIX}") + set_target_properties(AWS::aws-crt-cpp PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-crt-cpp.${SUFFIX}") add_dependencies(AWS::aws-crt-cpp aws-sdk-cpp-external) target_include_directories(AWS::aws-crt-cpp INTERFACE ${LIBAWS_INCLUDE_DIR}) target_link_libraries(AWS::aws-crt-cpp INTERFACE AWS::aws-c-io AWS::aws-c-s3 AWS::aws-c-mqtt AWS::aws-c-http AWS::aws-c-cal AWS::aws-c-compression) add_library(AWS::aws-cpp-sdk-core STATIC IMPORTED) - set_target_properties(AWS::aws-cpp-sdk-core PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-core.${SUFFIX}") + set_target_properties(AWS::aws-cpp-sdk-core PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-cpp-sdk-core.${SUFFIX}") add_dependencies(AWS::aws-cpp-sdk-core aws-sdk-cpp-external) target_include_directories(AWS::aws-cpp-sdk-core INTERFACE ${LIBAWS_INCLUDE_DIR}) target_link_libraries(AWS::aws-cpp-sdk-core INTERFACE AWS::aws-crt-cpp AWS::aws-c-event-stream CURL::libcurl OpenSSL::Crypto OpenSSL::SSL ZLIB::ZLIB Threads::Threads) @@ -185,7 +187,7 @@ function(use_bundled_libaws SOURCE_DIR BINARY_DIR) endif() add_library(AWS::aws-cpp-sdk-s3 STATIC IMPORTED) - set_target_properties(AWS::aws-cpp-sdk-s3 PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${CMAKE_INSTALL_LIBDIR}/${PREFIX}aws-cpp-sdk-s3.${SUFFIX}") + set_target_properties(AWS::aws-cpp-sdk-s3 PROPERTIES IMPORTED_LOCATION "${BINARY_DIR}/thirdparty/libaws-install/${LIBDIR}/${PREFIX}aws-cpp-sdk-s3.${SUFFIX}") add_dependencies(AWS::aws-cpp-sdk-s3 aws-sdk-cpp-external) target_include_directories(AWS::aws-cpp-sdk-s3 INTERFACE ${LIBAWS_INCLUDE_DIR}) target_link_libraries(AWS::aws-cpp-sdk-s3 INTERFACE AWS::aws-cpp-sdk-core) diff --git a/cmake/BundledAzureSdkCpp.cmake b/cmake/BundledAzureSdkCpp.cmake index ed3d318..847b2c7 100644 --- a/cmake/BundledAzureSdkCpp.cmake +++ b/cmake/BundledAzureSdkCpp.cmake @@ -22,26 +22,28 @@ function(use_bundled_libazure SOURCE_DIR BINARY_DIR) # Define byproducts set(INSTALL_DIR "${BINARY_DIR}/thirdparty/azure-sdk-cpp-install") if (WIN32) - set(CMAKE_INSTALL_LIBDIR "lib") + set(LIBDIR "lib") else() include(GNUInstallDirs) + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) endif() if (WIN32) set(SUFFIX "lib") set(PREFIX "") - set(AZURE_CORE_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-core.${SUFFIX}") - set(AZURE_STORAGE_COMMON_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-storage-common.${SUFFIX}") - set(AZURE_STORAGE_BLOBS_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-storage-blobs.${SUFFIX}") - set(AZURE_IDENTITY_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-identity.${SUFFIX}") - set(AZURE_STORAGE_FILES_DATALAKE_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-storage-files-datalake.${SUFFIX}") + set(AZURE_CORE_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-core.${SUFFIX}") + set(AZURE_STORAGE_COMMON_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-common.${SUFFIX}") + set(AZURE_STORAGE_BLOBS_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-blobs.${SUFFIX}") + set(AZURE_IDENTITY_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-identity.${SUFFIX}") + set(AZURE_STORAGE_FILES_DATALAKE_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-files-datalake.${SUFFIX}") else() set(SUFFIX "a") set(PREFIX "lib") - set(AZURE_CORE_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-core.${SUFFIX}") - set(AZURE_STORAGE_COMMON_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-storage-common.${SUFFIX}") - set(AZURE_STORAGE_BLOBS_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-storage-blobs.${SUFFIX}") - set(AZURE_IDENTITY_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-identity.${SUFFIX}") - set(AZURE_STORAGE_FILES_DATALAKE_LIB "${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}azure-storage-files-datalake.${SUFFIX}") + set(AZURE_CORE_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-core.${SUFFIX}") + set(AZURE_STORAGE_COMMON_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-common.${SUFFIX}") + set(AZURE_STORAGE_BLOBS_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-blobs.${SUFFIX}") + set(AZURE_IDENTITY_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-identity.${SUFFIX}") + set(AZURE_STORAGE_FILES_DATALAKE_LIB "${INSTALL_DIR}/${LIBDIR}/${PREFIX}azure-storage-files-datalake.${SUFFIX}") endif() set(AZURESDK_LIBRARIES_LIST diff --git a/cmake/BundledCivetWeb.cmake b/cmake/BundledCivetWeb.cmake index c030ce7..b4581bc 100644 --- a/cmake/BundledCivetWeb.cmake +++ b/cmake/BundledCivetWeb.cmake @@ -26,11 +26,11 @@ function(use_bundled_civetweb SOURCE_DIR BINARY_DIR) if (WIN32) set(SUFFIX "lib") else() - set(PREFIX "lib") - include(GNUInstallDirs) - set(LIBDIR "${CMAKE_INSTALL_LIBDIR}") - set(SUFFIX "a") - + set(PREFIX "lib") + include(GNUInstallDirs) + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) + set(SUFFIX "a") endif() set(BYPRODUCTS diff --git a/cmake/BundledLibSSH2.cmake b/cmake/BundledLibSSH2.cmake index b86da0c..7c3bf82 100644 --- a/cmake/BundledLibSSH2.cmake +++ b/cmake/BundledLibSSH2.cmake @@ -26,7 +26,9 @@ function(use_bundled_libssh2 SOURCE_DIR BINARY_DIR) set(BYPRODUCT "lib/libssh2.lib") else() include(GNUInstallDirs) - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libssh2.a") + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) + set(BYPRODUCT "${LIBDIR}/libssh2.a") endif() # Set build options diff --git a/cmake/BundledLibcURL.cmake b/cmake/BundledLibcURL.cmake index 88f325e..6295ac9 100644 --- a/cmake/BundledLibcURL.cmake +++ b/cmake/BundledLibcURL.cmake @@ -26,7 +26,9 @@ function(use_bundled_curl SOURCE_DIR BINARY_DIR) set(BYPRODUCT "lib/libcurl.lib") else() include(GNUInstallDirs) - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libcurl.a") + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) + set(BYPRODUCT "${LIBDIR}/libcurl.a") endif() # Set build options diff --git a/cmake/BundledOpen62541.cmake b/cmake/BundledOpen62541.cmake index c03c0bc..da1369a 100644 --- a/cmake/BundledOpen62541.cmake +++ b/cmake/BundledOpen62541.cmake @@ -24,7 +24,9 @@ function(use_bundled_open62541 SOURCE_DIR BINARY_DIR) set(BYPRODUCT "lib/open62541.lib") else() include(GNUInstallDirs) - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libopen62541.a") + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) + set(BYPRODUCT "${LIBDIR}/libopen62541.a") endif() # Set build options diff --git a/cmake/BundledOpenCV.cmake b/cmake/BundledOpenCV.cmake index 1a48e89..b79fb98 100644 --- a/cmake/BundledOpenCV.cmake +++ b/cmake/BundledOpenCV.cmake @@ -17,9 +17,11 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR) if (WIN32) - set(CMAKE_INSTALL_LIBDIR "lib") + set(LIBDIR "lib") else() include(GNUInstallDirs) + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) endif() # Define byproducts @@ -37,21 +39,21 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR) set(OPENCV_BYPRODUCT_DIR "${CMAKE_CURRENT_BINARY_DIR}/thirdparty/opencv-install") set(BYPRODUCTS - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_flann${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_dnn${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_objdetect${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_core${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_gapi${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_imgcodecs${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_calib3d${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_imgproc${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_photo${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_videoio${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_video${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_stitching${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_features2d${SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libjpeg-turbo${THIRDPARTY_SUFFIX}" - "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libpng${THIRDPARTY_SUFFIX}") + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_flann${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_dnn${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_objdetect${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_core${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_gapi${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_imgcodecs${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_calib3d${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_imgproc${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_photo${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_videoio${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_video${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_stitching${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_features2d${SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libjpeg-turbo${THIRDPARTY_SUFFIX}" + "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libpng${THIRDPARTY_SUFFIX}") # Set build options set(OPENCV_CMAKE_ARGS ${PASSTHROUGH_CMAKE_ARGS} @@ -129,79 +131,79 @@ function(use_bundled_opencv SOURCE_DIR BINARY_DIR) file(MAKE_DIRECTORY ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libjpeg-turbo STATIC IMPORTED) - set_target_properties(OPENCV::libjpeg-turbo PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libjpeg-turbo${THIRDPARTY_SUFFIX}") + set_target_properties(OPENCV::libjpeg-turbo PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libjpeg-turbo${THIRDPARTY_SUFFIX}") add_dependencies(OPENCV::libjpeg-turbo opencv-external) add_library(OPENCV::libpng STATIC IMPORTED) - set_target_properties(OPENCV::libpng PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libpng${THIRDPARTY_SUFFIX}") + set_target_properties(OPENCV::libpng PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${THIRDPARTY_DIR}${PREFIX}libpng${THIRDPARTY_SUFFIX}") add_dependencies(OPENCV::libpng opencv-external) add_library(OPENCV::libopencv-core STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-core PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_core${SUFFIX}") + set_target_properties(OPENCV::libopencv-core PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_core${SUFFIX}") add_dependencies(OPENCV::libopencv-core opencv-external ZLIB::ZLIB) target_include_directories(OPENCV::libopencv-core INTERFACE ${OPENCV_INCLUDE_DIR}) target_link_libraries(OPENCV::libopencv-core INTERFACE ZLIB::ZLIB) add_library(OPENCV::libopencv-flann STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-flann PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_flann${SUFFIX}") + set_target_properties(OPENCV::libopencv-flann PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_flann${SUFFIX}") add_dependencies(OPENCV::libopencv-flann opencv-external) target_include_directories(OPENCV::libopencv-flann INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-dnn STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-dnn PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_dnn${SUFFIX}") + set_target_properties(OPENCV::libopencv-dnn PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_dnn${SUFFIX}") add_dependencies(OPENCV::libopencv-dnn opencv-external) target_include_directories(OPENCV::libopencv-dnn INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-objdetect STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-objdetect PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_objdetect${SUFFIX}") + set_target_properties(OPENCV::libopencv-objdetect PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_objdetect${SUFFIX}") add_dependencies(OPENCV::libopencv-objdetect opencv-external) target_include_directories(OPENCV::libopencv-objdetect INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-gapi STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-gapi PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_gapi${SUFFIX}") + set_target_properties(OPENCV::libopencv-gapi PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_gapi${SUFFIX}") add_dependencies(OPENCV::libopencv-gapi opencv-external) target_include_directories(OPENCV::libopencv-gapi INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-imgcodecs STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-imgcodecs PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_imgcodecs${SUFFIX}") + set_target_properties(OPENCV::libopencv-imgcodecs PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_imgcodecs${SUFFIX}") add_dependencies(OPENCV::libopencv-imgcodecs opencv-external) target_include_directories(OPENCV::libopencv-imgcodecs INTERFACE ${OPENCV_INCLUDE_DIR}) target_link_libraries(OPENCV::libopencv-imgcodecs INTERFACE OPENCV::libopencv-core OPENCV::libjpeg-turbo OPENCV::libpng) add_library(OPENCV::libopencv-calib3d STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-calib3d PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_calib3d${SUFFIX}") + set_target_properties(OPENCV::libopencv-calib3d PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_calib3d${SUFFIX}") add_dependencies(OPENCV::libopencv-calib3d opencv-external) target_include_directories(OPENCV::libopencv-calib3d INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-imgproc STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-imgproc PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_imgproc${SUFFIX}") + set_target_properties(OPENCV::libopencv-imgproc PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_imgproc${SUFFIX}") add_dependencies(OPENCV::libopencv-imgproc opencv-external) target_include_directories(OPENCV::libopencv-imgproc INTERFACE ${OPENCV_INCLUDE_DIR}) target_link_libraries(OPENCV::libopencv-imgproc INTERFACE OPENCV::libopencv-core) add_library(OPENCV::libopencv-photo STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-photo PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_photo${SUFFIX}") + set_target_properties(OPENCV::libopencv-photo PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_photo${SUFFIX}") add_dependencies(OPENCV::libopencv-photo opencv-external) target_include_directories(OPENCV::libopencv-photo INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-videoio STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-videoio PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_videoio${SUFFIX}") + set_target_properties(OPENCV::libopencv-videoio PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_videoio${SUFFIX}") add_dependencies(OPENCV::libopencv-videoio opencv-external) target_include_directories(OPENCV::libopencv-videoio INTERFACE ${OPENCV_INCLUDE_DIR}) target_link_libraries(OPENCV::libopencv-videoio INTERFACE OPENCV::libopencv-core) add_library(OPENCV::libopencv-video STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-video PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_video${SUFFIX}") + set_target_properties(OPENCV::libopencv-video PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_video${SUFFIX}") add_dependencies(OPENCV::libopencv-video opencv-external) target_include_directories(OPENCV::libopencv-video INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-stitching STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-stitching PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_stitching${SUFFIX}") + set_target_properties(OPENCV::libopencv-stitching PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_stitching${SUFFIX}") add_dependencies(OPENCV::libopencv-stitching opencv-external) target_include_directories(OPENCV::libopencv-stitching INTERFACE ${OPENCV_INCLUDE_DIR}) add_library(OPENCV::libopencv-features2d STATIC IMPORTED) - set_target_properties(OPENCV::libopencv-features2d PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${CMAKE_INSTALL_LIBDIR}/${PREFIX}opencv_features2d${SUFFIX}") + set_target_properties(OPENCV::libopencv-features2d PROPERTIES IMPORTED_LOCATION "${OPENCV_BYPRODUCT_DIR}/${LIBDIR}/${PREFIX}opencv_features2d${SUFFIX}") add_dependencies(OPENCV::libopencv-features2d opencv-external) target_include_directories(OPENCV::libopencv-features2d INTERFACE ${OPENCV_INCLUDE_DIR}) diff --git a/cmake/BundledRocksDB.cmake b/cmake/BundledRocksDB.cmake index de9c45d..76ce50a 100644 --- a/cmake/BundledRocksDB.cmake +++ b/cmake/BundledRocksDB.cmake @@ -23,7 +23,9 @@ function(use_bundled_rocksdb SOURCE_DIR BINARY_DIR) set(BYPRODUCT "lib/rocksdb.lib") else() include(GNUInstallDirs) - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/librocksdb.a") + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) + set(BYPRODUCT "${LIBDIR}/librocksdb.a") endif() # Set build options diff --git a/cmake/BundledSpdlog.cmake b/cmake/BundledSpdlog.cmake index b1d4bc7..974cbba 100644 --- a/cmake/BundledSpdlog.cmake +++ b/cmake/BundledSpdlog.cmake @@ -25,10 +25,12 @@ function(use_bundled_spdlog SOURCE_DIR BINARY_DIR) endif() else() include(GNUInstallDirs) + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libspdlogd.a") + set(BYPRODUCT "${LIBDIR}/libspdlogd.a") else() - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libspdlog.a") + set(BYPRODUCT "${LIBDIR}/libspdlog.a") endif() endif() diff --git a/cmake/BundledYamlCpp.cmake b/cmake/BundledYamlCpp.cmake index 5f4f2b3..d88663a 100644 --- a/cmake/BundledYamlCpp.cmake +++ b/cmake/BundledYamlCpp.cmake @@ -17,16 +17,18 @@ function(use_bundled_yamlcpp SOURCE_DIR BINARY_DIR) if (WIN32) - set(CMAKE_INSTALL_LIBDIR "lib") + set(LIBDIR "lib") else() include(GNUInstallDirs) + string(REPLACE "/" ";" LIBDIR_LIST ${CMAKE_INSTALL_LIBDIR}) + list(GET LIBDIR_LIST 0 LIBDIR) endif() # Define byproducts if (WIN32) - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/yaml-cpp.lib") + set(BYPRODUCT "${LIBDIR}/yaml-cpp.lib") else() - set(BYPRODUCT "${CMAKE_INSTALL_LIBDIR}/libyaml-cpp.a") + set(BYPRODUCT "${LIBDIR}/libyaml-cpp.a") endif() # Set build options
