mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-16 00:41:38 +08:00
561d171d79
Resolves https://github.com/microsoft/vcpkg/issues/35566 This pr includes https://github.com/microsoft/vcpkg/pull/31159 and https://github.com/microsoft/vcpkg/pull/35399 Ports changed in this pr: Most of these changes stem from the fact that protobuf now depends on abseil and requires c++14 while ports consume protobuf using `target_link_libraries(lib ${Protobuf_LIBRARIES})` instead of `target_link_libraries(lib PUBLIC protobuf::libprotobuf)`. * **abseil** Updated to 03/04/2024 to address MSVC build issue in openvino * **arcus** Updated to 4.13.2 * **braft** Patched to use `find_package(Protobuf` instead of custom FindProtobuf module. also link with `PUBLIC protobuf::libprotobuf)`. * **brpc** Patch several `target_link_library` calls to include `PUBLIC` instead of nothing. Patch some warnings that are treated as errors by some OSX compiler. Patch usage of changed protobuf features most importantly removal of `SetLogHandler`, tbd whether this patch is acceptable with upstream. * **cld3** Use CONFIG to find protobuf to propagate dependent abseil libs and cxx14 correctly. * **ecal** Use CONFIG to find protobuf. Use PUBLIC when linking it. * **gamenetworkingsockets** Add `-DCMAKE_FIND_PACKAGE_PREFER_CONFIG=on` for protobuf. * **gz-transport12** Update to fix usage of removed protobuf features. * **ignition-msgs1/5/6** Remove protobuf version check which is confused by the duplicate versioning scheme (v25.1 vs. 3.25.1 vs 4.x). Why are we even maintaining this no longer maintained major version of this port? I would welcome a more strict policy on removing ports/adding them to ci.baseline.txt * **ignition-transport4/8/9** Same as above + cherry-pick a protobuf deprecation patch. * **libprotobuf-mutator** Cherry-pick two commits to address altered protobuf functionality. Add CONFIG and PUBLIC to protobuf handling in CMake. * **marble** Explicitly set protobuf to not found since it is not part of the vcpkg.json but is made available transitively but another dependency. * **mysql-connector-cpp** Several CMake changes and removal of protobuf::SetLogHandler patch. * **openvino** Find protobuf using CONFIG * **osgearth** Link libraries using PUBLIC and link with protobuf::libprotobuf instead of Protobuf_LIBRARIES * **paraview** Find protobuf using CONFIG and remove version check * **pulsar-client-cpp** Add protobuf linkage to PULSAR_OBJECT_LIB. Simplify protoc patch. Remove -Werror. * **shogun** Update and patch as much as possible. Users are required to override bitsery version to 4.x to use shogun since it does not support 5.x provided by vcpkg. Therefore add shogun to ci.baseline.txt. * **srpc** Update and fix static crt linkage. Patch protobuf linkage and remove hardcoded `-std=c++11` flag. Protobuf requires c++14 and CMake does not recognize the hardcoded c++11 flag and will therefore not add a c++14 flag when the compiler uses c++14 by default. * **upb** Update to align version with protobuf/grpc and use new github repo. Patch usual CMake mess (they do not support CMake officially) which should probably be `unofficial-upbConfig.cmake` but I didn't dig into downstream implications so I kept it at `upbConfig.cmake` as before. * **utf8-range** Update to allign version with protobuf.
176 lines
5.9 KiB
Diff
176 lines
5.9 KiB
Diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 2e3a686..ed161e4 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -25,27 +25,33 @@ option(BUILD_GRPC "build Cartographer gRPC support" false)
|
|
option(BUILD_PROMETHEUS "build Prometheus monitoring support" false)
|
|
|
|
include("${PROJECT_SOURCE_DIR}/cmake/functions.cmake")
|
|
-google_initialize_cartographer_project()
|
|
-google_enable_testing()
|
|
+#google_initialize_cartographer_project()
|
|
+#google_enable_testing()
|
|
|
|
find_package(Boost REQUIRED COMPONENTS iostreams)
|
|
find_package(Ceres REQUIRED COMPONENTS SuiteSparse)
|
|
find_package(Eigen3 REQUIRED)
|
|
-find_package(LuaGoogle REQUIRED)
|
|
-find_package(Protobuf 3.0.0 REQUIRED)
|
|
+find_package(Lua REQUIRED)
|
|
+find_package(Protobuf REQUIRED)
|
|
+find_package(glog REQUIRED)
|
|
+find_package(gflags REQUIRED)
|
|
|
|
if (${BUILD_GRPC})
|
|
find_package(async_grpc REQUIRED)
|
|
endif()
|
|
|
|
-include(FindPkgConfig)
|
|
-PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
|
|
+#include(FindPkgConfig)
|
|
+#PKG_SEARCH_MODULE(CAIRO REQUIRED cairo>=1.12.16)
|
|
+#if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
|
+# set(CAIRO_LIB_SUFFIX d)
|
|
+#endif()
|
|
+find_library(CAIRO_LIBRARY cairo${CAIRO_LIB_SUFFIX})
|
|
|
|
# Only build the documentation if we can find Sphinx.
|
|
-find_package(Sphinx)
|
|
-if(SPHINX_FOUND)
|
|
- add_subdirectory("docs")
|
|
-endif()
|
|
+#find_package(Sphinx)
|
|
+#if(SPHINX_FOUND)
|
|
+# add_subdirectory("docs")
|
|
+#endif()
|
|
|
|
# Install catkin package.xml
|
|
install(FILES package.xml DESTINATION share/cartographer)
|
|
@@ -169,20 +175,20 @@ configure_file(
|
|
${PROJECT_SOURCE_DIR}/cartographer/common/config.h.cmake
|
|
${PROJECT_BINARY_DIR}/cartographer/common/config.h)
|
|
|
|
-google_binary(cartographer_autogenerate_ground_truth
|
|
- SRCS
|
|
- cartographer/ground_truth/autogenerate_ground_truth_main.cc
|
|
-)
|
|
-
|
|
-google_binary(cartographer_compute_relations_metrics
|
|
- SRCS
|
|
- cartographer/ground_truth/compute_relations_metrics_main.cc
|
|
-)
|
|
-
|
|
-google_binary(cartographer_migrate_serialization_format
|
|
- SRCS
|
|
- cartographer/io/migrate_serialization_format_main.cc
|
|
-)
|
|
+#google_binary(cartographer_autogenerate_ground_truth
|
|
+# SRCS
|
|
+# cartographer/ground_truth/autogenerate_ground_truth_main.cc
|
|
+#)
|
|
+#
|
|
+#google_binary(cartographer_compute_relations_metrics
|
|
+# SRCS
|
|
+# cartographer/ground_truth/compute_relations_metrics_main.cc
|
|
+#)
|
|
+#
|
|
+#google_binary(cartographer_migrate_serialization_format
|
|
+# SRCS
|
|
+# cartographer/io/migrate_serialization_format_main.cc
|
|
+#)
|
|
|
|
if(${BUILD_GRPC})
|
|
google_binary(cartographer_grpc_server
|
|
@@ -213,18 +219,16 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${Boost_LIBRARIES})
|
|
|
|
# We expect find_package(Ceres) to have located these for us.
|
|
-target_link_libraries(${PROJECT_NAME} PUBLIC glog)
|
|
-target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
|
|
+#target_link_libraries(${PROJECT_NAME} PUBLIC glog)
|
|
+#target_link_libraries(${PROJECT_NAME} PUBLIC gflags)
|
|
+#target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARY})
|
|
|
|
-target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
|
|
- "${CAIRO_INCLUDE_DIRS}")
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC ${CAIRO_LIBRARIES})
|
|
|
|
-target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
|
|
- ${PROTOBUF_INCLUDE_DIR})
|
|
# TODO(hrapp): This should not explicitly list pthread and use
|
|
# PROTOBUF_LIBRARIES, but that failed on first try.
|
|
-target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} pthread)
|
|
+#target_link_libraries(${PROJECT_NAME} PUBLIC ${PROTOBUF_LIBRARY} pthread)
|
|
+target_link_libraries(${PROJECT_NAME} PUBLIC protobuf::libprotobuf)
|
|
if(${BUILD_GRPC})
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC grpc++)
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC async_grpc)
|
|
@@ -237,7 +241,7 @@ endif()
|
|
set(TARGET_COMPILE_FLAGS "${TARGET_COMPILE_FLAGS} ${GOOG_CXX_FLAGS}")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
COMPILE_FLAGS ${TARGET_COMPILE_FLAGS})
|
|
-
|
|
+if(0)
|
|
set(TEST_LIB
|
|
cartographer_test_library
|
|
)
|
|
@@ -265,7 +269,7 @@ foreach(ABS_FIL ${ALL_TESTS})
|
|
endif()
|
|
target_link_libraries("${TEST_TARGET_NAME}" PUBLIC ${TEST_LIB})
|
|
endforeach()
|
|
-
|
|
+endif()
|
|
# Add the binary directory first, so that port.h is included after it has
|
|
# been generated.
|
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
diff --git a/cartographer/common/math.h b/cartographer/common/math.h
|
|
index c4a77ef..0248f66 100644
|
|
--- a/cartographer/common/math.h
|
|
+++ b/cartographer/common/math.h
|
|
@@ -17,6 +17,10 @@
|
|
#ifndef CARTOGRAPHER_COMMON_MATH_H_
|
|
#define CARTOGRAPHER_COMMON_MATH_H_
|
|
|
|
+#ifndef M_PI
|
|
+#define M_PI 3.14159265358979323846
|
|
+#endif
|
|
+
|
|
#include <cmath>
|
|
#include <vector>
|
|
|
|
diff --git a/cartographer/common/thread_pool.cc b/cartographer/common/thread_pool.cc
|
|
index bc3c743..db424d1 100644
|
|
--- a/cartographer/common/thread_pool.cc
|
|
+++ b/cartographer/common/thread_pool.cc
|
|
@@ -16,7 +16,7 @@
|
|
|
|
#include "cartographer/common/thread_pool.h"
|
|
|
|
-#include <unistd.h>
|
|
+//#include <unistd.h>
|
|
#include <algorithm>
|
|
#include <chrono>
|
|
#include <numeric>
|
|
diff --git a/cmake/functions.cmake b/cmake/functions.cmake
|
|
index 3bfd343..3d961b0 100644
|
|
--- a/cmake/functions.cmake
|
|
+++ b/cmake/functions.cmake
|
|
@@ -118,12 +118,12 @@ macro(google_initialize_cartographer_project)
|
|
set(LIST_FILES_CMD "find ${PROJECT_SOURCE_DIR}/ -not -iwholename '*.git*' | sort | sed 's/^/#/'")
|
|
set(FILES_LIST_PATH "${PROJECT_BINARY_DIR}/AllFiles.cmake")
|
|
set(DETECT_CHANGES_CMD "bash" "-c" "${LIST_FILES_CMD} | diff -N -q ${FILES_LIST_PATH} - || ${LIST_FILES_CMD} > ${FILES_LIST_PATH}")
|
|
- add_custom_target(${PROJECT_NAME}_detect_changes ALL
|
|
- COMMAND ${DETECT_CHANGES_CMD}
|
|
- VERBATIM
|
|
- )
|
|
+ #add_custom_target(${PROJECT_NAME}_detect_changes ALL
|
|
+ # COMMAND ${DETECT_CHANGES_CMD}
|
|
+ # VERBATIM
|
|
+ #)
|
|
if(NOT EXISTS ${FILES_LIST_PATH})
|
|
- execute_process(COMMAND ${DETECT_CHANGES_CMD})
|
|
+ #execute_process(COMMAND ${DETECT_CHANGES_CMD})
|
|
endif()
|
|
include(${FILES_LIST_PATH})
|
|
endmacro()
|