diff options
Diffstat (limited to 'vcpkg/ports/ecal/0002-fix-build.patch')
| -rw-r--r-- | vcpkg/ports/ecal/0002-fix-build.patch | 166 |
1 files changed, 166 insertions, 0 deletions
diff --git a/vcpkg/ports/ecal/0002-fix-build.patch b/vcpkg/ports/ecal/0002-fix-build.patch new file mode 100644 index 0000000..b2811b1 --- /dev/null +++ b/vcpkg/ports/ecal/0002-fix-build.patch @@ -0,0 +1,166 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e82e353e0..19d8f2a93 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -26,7 +26,8 @@ endif (POLICY CMP0077) + + list(APPEND CMAKE_MODULE_PATH + ${CMAKE_CURRENT_SOURCE_DIR}/cmake +- ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) ++ # Removed project specific Module overrides ++) + + set(eCAL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) + +@@ -221,6 +222,8 @@ set(possible_subprojects + set(ECAL_THIRDPARTY_BUILD_CMAKEFUNCTIONS ${ECAL_THIRDPARTY_BUILD_CMAKE_FUNCTIONS}) + + # if a package does need to be build, include the cmake file with build instructions ++# Disable all submodules, except CMakeFunctions which isn't a submodule and required ++set(possible_subprojects "CMakeFunctions") + foreach (dep IN LISTS possible_subprojects) + string(TOUPPER ${dep} dep_upper) + string(TOLOWER ${dep} dep_lower) +@@ -336,7 +339,9 @@ add_subdirectory(ecal/core) + # custom libs + # -------------------------------------------------------- + add_subdirectory(lib/ThreadingUtils) +-add_subdirectory(lib/CustomTclap) ++# Removed due to only being used by the apps, which are disabled, and for ++# publicly linking tclap::tclap which doesn't exist outside of eCAL ++# add_subdirectory(lib/CustomTclap) + add_subdirectory(lib/ecal_utils) + + if(HAS_QT) +@@ -559,7 +564,9 @@ endif() + # -------------------------------------------------------- + # create package + # -------------------------------------------------------- ++if(CPACK_PACK_WITH_INNOSETUP) + include(cpack/cpack_variables.cmake) ++endif() + + message(STATUS "Build Options:") + message(STATUS "--------------------------------------------------------------------------------") +diff --git a/contrib/ecalhdf5/CMakeLists.txt b/contrib/ecalhdf5/CMakeLists.txt +index d5285101c..3b7eb705a 100644 +--- a/contrib/ecalhdf5/CMakeLists.txt ++++ b/contrib/ecalhdf5/CMakeLists.txt +@@ -55,7 +55,12 @@ set(ecalhdf5_header_base + include/ecalhdf5/eh5_types.h + ) + ++if (WIN32) ++# This library, ecal::hdf5 does not export any symbols on Windows. Must be static ++ecal_add_static_library(${PROJECT_NAME} ${ecalhdf5_src} ${ecalhdf5_header_base}) ++else() + ecal_add_library(${PROJECT_NAME} ${ecalhdf5_src} ${ecalhdf5_header_base}) ++endif() + add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + + target_include_directories(${PROJECT_NAME} +diff --git a/contrib/ecalproto/CMakeLists.txt b/contrib/ecalproto/CMakeLists.txt +index 04f1a1b9a..58df32705 100644 +--- a/contrib/ecalproto/CMakeLists.txt ++++ b/contrib/ecalproto/CMakeLists.txt +@@ -37,7 +37,12 @@ set(ecal_protobuf_header + include/ecal/protobuf/ecal_proto_visitor.h + ) + ++if (WIN32) ++# This library, ecal::proto does not export any symbols on Windows. Must be static ++ecal_add_static_library(${PROJECT_NAME} ${ecal_protobuf_src} ${ecal_protobuf_header}) ++else() + ecal_add_library(${PROJECT_NAME} ${ecal_protobuf_src} ${ecal_protobuf_header}) ++endif() + add_library(eCAL::${PROJECT_NAME} ALIAS ${PROJECT_NAME}) + target_include_directories(${PROJECT_NAME} PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> +diff --git a/ecal/core/CMakeLists.txt b/ecal/core/CMakeLists.txt +index f18dd6291..8655d134a 100644 +--- a/ecal/core/CMakeLists.txt ++++ b/ecal/core/CMakeLists.txt +@@ -20,8 +20,6 @@ project(core VERSION ${eCAL_VERSION_STRING}) + + find_package(Threads REQUIRED) + find_package(asio REQUIRED) +-find_package(tclap REQUIRED) +-find_package(simpleini REQUIRED) + find_package(tcp_pubsub REQUIRED) + if (ECAL_NPCAP_SUPPORT) + find_package(udpcap REQUIRED) +@@ -549,8 +547,6 @@ target_link_libraries(${PROJECT_NAME} + $<$<BOOL:${WIN32}>:wsock32> + $<$<BOOL:${QNXNTO}>:socket> + asio::asio +- tclap::tclap +- simpleini::simpleini + eCAL::core_pb + Threads::Threads + eCAL::ecal-utils +@@ -558,6 +554,14 @@ target_link_libraries(${PROJECT_NAME} + ecal_service + ) + ++# tclap is header only and only used for implementation ++find_path(TCLAP_INCLUDE_DIRS "tclap/Arg.h") ++target_include_directories(${PROJECT_NAME} PRIVATE ${TCLAP_INCLUDE_DIRS}) ++ ++# simpleini is header only and only used for implementation ++find_path(SIMPLEINI_INCLUDE_DIRS "ConvertUTF.c") ++target_include_directories(${PROJECT_NAME} PRIVATE ${SIMPLEINI_INCLUDE_DIRS}) ++ + set_property(TARGET ${PROJECT_NAME} PROPERTY FOLDER ecal/core) + set_property(TARGET ${PROJECT_NAME}_c PROPERTY FOLDER ecal/core) + +diff --git a/ecal/service/ecal_service/CMakeLists.txt b/ecal/service/ecal_service/CMakeLists.txt +index 0ac70a214..6a565c726 100644 +--- a/ecal/service/ecal_service/CMakeLists.txt ++++ b/ecal/service/ecal_service/CMakeLists.txt +@@ -99,6 +99,8 @@ set_target_properties(${PROJECT_NAME} PROPERTIES + FOLDER ecal/service + ) + ++ecal_install_library(${PROJECT_NAME}) ++ + ################################## + + source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" FILES +diff --git a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt +index 8d13b791c..6ed0d1a14 100644 +--- a/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt ++++ b/thirdparty/cmakefunctions/cmake_functions/CMakeLists.txt +@@ -40,4 +40,6 @@ foreach (f ${file_list}) + install( FILES ${f} DESTINATION "${cmake_functions_install_cmake_dir}/${dir}" ) + endforeach() + ++if(CPACK_PACK_WITH_INNOSETUP) + include(cmake/cpack_variables.cmake) ++endif() +diff --git a/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake b/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake +index a053b06e6..127eb14e6 100644 +--- a/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake ++++ b/thirdparty/cmakefunctions/cmake_functions/cmake_functions.cmake +@@ -5,22 +5,12 @@ set (file_list_include + target_definitions/targets_protobuf.cmake + ) + +-if(WIN32) +- list(APPEND file_list_include +- qt/qt_windeployqt.cmake +- ) +-endif() + + set(file_list_no_include + protoc_functions/protoc_generate_cpp.cmake + protoc_functions/protoc_generate_python.cmake + ) + +-if(WIN32) +- list(APPEND file_list_no_include +- qt/qt_windeployqt_threadsafe_cmake.bat.in +- ) +-endif() + + # Set list of all files to be installed by CMake Script. + set(file_list |