vcpkg/ports/ecal/0002-fix-build.patch

167 lines
5.6 KiB
Diff
Raw Normal View History

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 351fe6c3f..64d5bb384 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -27,7 +27,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
+)
project(eCAL)
set(ECAL_PROJECT_ROOT "${CMAKE_CURRENT_LIST_DIR}")
@@ -212,11 +213,13 @@ foreach (dep IN LISTS possible_subprojects)
endif ()
endforeach()
+if(NOT DISABLE_FIND_PACKAGE_OVERLOAD)
macro(find_package)
if(NOT "${ARGV0}" IN_LIST as_subproject)
_find_package(${ARGV})
endif()
endmacro()
+endif()
# if a package does need to be build, include the cmake file with build instructions
foreach (dep IN LISTS possible_subprojects)
@@ -232,7 +235,6 @@ if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_OLD}")
endif()
-find_package(CMakeFunctions REQUIRED)
git_revision_information(DEFAULT ${ECAL_BUILD_VERSION})
set(eCAL_VERSION_MAJOR ${GIT_REVISION_MAJOR})
@@ -330,7 +332,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_QT5)
@@ -549,7 +553,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 080c40e28..c167bacd4 100644
--- a/contrib/ecalhdf5/CMakeLists.txt
+++ b/contrib/ecalhdf5/CMakeLists.txt
@@ -58,7 +58,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 5c2b6e33d..3c7d57189 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)
@@ -492,14 +490,20 @@ 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
tcp_pubsub::tcp_pubsub
)
+# 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/thirdparty/cmake_functions/CMakeLists.txt b/thirdparty/cmake_functions/CMakeLists.txt
index b3e93261a..3ba185a97 100644
--- a/thirdparty/cmake_functions/CMakeLists.txt
+++ b/thirdparty/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/cmake_functions/cmake_functions.cmake b/thirdparty/cmake_functions/cmake_functions.cmake
index 0c3659e5c..127eb14e6 100644
--- a/thirdparty/cmake_functions/cmake_functions.cmake
+++ b/thirdparty/cmake_functions/cmake_functions.cmake
@@ -5,23 +5,12 @@ set (file_list_include
target_definitions/targets_protobuf.cmake
)
-if(WIN32)
- list(APPEND file_list_include
- qt/qt_msvc_path.cmake
- 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