diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake index 25f0279..c648632 100644 --- a/cmake/cpp.cmake +++ b/cmake/cpp.cmake @@ -51,9 +51,9 @@ set(ABSL_ENABLE_INSTALL ON) FetchContent_Declare( absl GIT_REPOSITORY "https://github.com/abseil/abseil-cpp.git" - GIT_TAG "20230802.0" + GIT_TAG "20240116.2" GIT_SHALLOW TRUE - #PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../patches/abseil-cpp-20230802.0.patch" + PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../patches/abseil-cpp-20240116.2.patch" OVERRIDE_FIND_PACKAGE) FetchContent_MakeAvailable(absl) list(POP_BACK CMAKE_MESSAGE_INDENT) @@ -69,10 +69,10 @@ set(protobuf_WITH_ZLIB OFF) FetchContent_Declare( protobuf GIT_REPOSITORY "https://github.com/protocolbuffers/protobuf.git" - GIT_TAG "v24.0" + GIT_TAG "v27.2" GIT_SUBMODULES "" GIT_SHALLOW TRUE - PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../patches/protobuf-v24.0.patch") + PATCH_COMMAND git apply --ignore-whitespace "${CMAKE_CURRENT_LIST_DIR}/../patches/protobuf-v27.2.patch") FetchContent_MakeAvailable(protobuf) list(POP_BACK CMAKE_MESSAGE_INDENT) message(CHECK_PASS "fetched") diff --git a/patches/abseil-cpp-20230802.0.patch b/patches/abseil-cpp-20230802.0.patch deleted file mode 100644 index 98d5fb3..0000000 --- a/patches/abseil-cpp-20230802.0.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake -index f0d984ae..9134696d 100644 ---- a/CMake/AbseilDll.cmake -+++ b/CMake/AbseilDll.cmake -@@ -624,23 +624,33 @@ set(ABSL_INTERNAL_TEST_DLL_TARGETS - - include(CheckCXXSourceCompiles) - --check_cxx_source_compiles( -- [==[ --#ifdef _MSC_VER --# if _MSVC_LANG < 201700L --# error "The compiler defaults or is configured for C++ < 17" --# endif --#elif __cplusplus < 201700L --# error "The compiler defaults or is configured for C++ < 17" --#endif --int main() { return 0; } --]==] -+message(WARNING "ABSL_CXX_STANDARD: ${ABSL_CXX_STANDARD}") -+message(WARNING "CMAKE_CXX_STANDARD: ${CMAKE_CXX_STANDARD}") -+message(WARNING "CMAKE_CXX_STANDARD_REQUIRED: ${CMAKE_CXX_STANDARD_REQUIRED}") -+message(WARNING "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") -+ -+if(CMAKE_CXX_STANDARD GREATER_EQUAL 17) -+ set(ABSL_INTERNAL_AT_LEAST_CXX17 TRUE) -+else() -+ check_cxx_source_compiles( -+ [==[ -+ #ifdef _MSC_VER -+ # if _MSVC_LANG < 201700L -+ # error "The compiler defaults or is configured for C++ < 17" -+ # endif -+ #elif __cplusplus < 201700L -+ # error "The compiler defaults or is configured for C++ < 17" -+ #endif -+ int main() { return 0; } -+ ]==] - ABSL_INTERNAL_AT_LEAST_CXX17) -+endif() - - if(ABSL_INTERNAL_AT_LEAST_CXX17) - set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_17) - else() - set(ABSL_INTERNAL_CXX_STD_FEATURE cxx_std_14) -+ message(FATAL_ERROR "Should not pass here !!!") - endif() - - function(absl_internal_dll_contains) diff --git a/patches/abseil-cpp-20240116.2.patch b/patches/abseil-cpp-20240116.2.patch new file mode 100644 index 0000000..6d3c2f8 --- /dev/null +++ b/patches/abseil-cpp-20240116.2.patch @@ -0,0 +1,19 @@ +diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake +index c53b358..9906382 100644 +--- a/CMake/AbseilHelpers.cmake ++++ b/CMake/AbseilHelpers.cmake +@@ -250,6 +250,14 @@ Cflags: -I\${includedir}${PC_CFLAGS}\n") + elseif(_build_type STREQUAL "static" OR _build_type STREQUAL "shared") + add_library(${_NAME} "") + target_sources(${_NAME} PRIVATE ${ABSL_CC_LIB_SRCS} ${ABSL_CC_LIB_HDRS}) ++ if(APPLE) ++ set_target_properties(${_NAME} PROPERTIES ++ INSTALL_RPATH "@loader_path") ++ elseif(UNIX) ++ set_target_properties(${_NAME} PROPERTIES ++ POSITION_INDEPENDENT_CODE ON ++ INSTALL_RPATH "$ORIGIN") ++ endif() + target_link_libraries(${_NAME} + PUBLIC ${ABSL_CC_LIB_DEPS} + PRIVATE diff --git a/patches/protobuf-v24.0.patch b/patches/protobuf-v27.2.patch similarity index 71% rename from patches/protobuf-v24.0.patch rename to patches/protobuf-v27.2.patch index f22c617..77b02f8 100644 --- a/patches/protobuf-v24.0.patch +++ b/patches/protobuf-v27.2.patch @@ -1,8 +1,8 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index ac0d03c3a..ac8aee8a7 100644 +index 9b51e9722..33c1021d4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -41,7 +41,7 @@ else (BUILD_SHARED_LIBS) +@@ -42,7 +42,7 @@ else (BUILD_SHARED_LIBS) endif (BUILD_SHARED_LIBS) option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHARED_LIBS_DEFAULT}) include(CMakeDependentOption) @@ -11,7 +11,7 @@ index ac0d03c3a..ac8aee8a7 100644 "NOT protobuf_BUILD_SHARED_LIBS" OFF) set(protobuf_WITH_ZLIB_DEFAULT ON) option(protobuf_WITH_ZLIB "Build with zlib support" ${protobuf_WITH_ZLIB_DEFAULT}) -@@ -158,24 +158,16 @@ endif() +@@ -160,24 +160,16 @@ endif() set(_protobuf_FIND_ZLIB) if (protobuf_WITH_ZLIB) @@ -46,26 +46,11 @@ index ac0d03c3a..ac8aee8a7 100644 endif (protobuf_WITH_ZLIB) # We need to link with libatomic on systems that do not have builtin atomics, or -@@ -277,7 +269,6 @@ else (MSVC) +@@ -279,7 +271,6 @@ else (MSVC) endif (MSVC) include_directories( - ${ZLIB_INCLUDE_DIRECTORIES} ${protobuf_BINARY_DIR} - ${protobuf_SOURCE_DIR}/src) - -diff --git a/cmake/libprotobuf.cmake b/cmake/libprotobuf.cmake -index 422754a1a..ea91898d5 100644 ---- a/cmake/libprotobuf.cmake -+++ b/cmake/libprotobuf.cmake -@@ -26,7 +26,9 @@ endif() - if(${CMAKE_SYSTEM_NAME} STREQUAL "Android") - target_link_libraries(libprotobuf PRIVATE log) - endif() --target_include_directories(libprotobuf PUBLIC ${protobuf_SOURCE_DIR}/src) -+target_include_directories(libprotobuf PUBLIC -+ ${protobuf_SOURCE_DIR}/src -+ ${protobuf_SOURCE_DIR}) - target_link_libraries(libprotobuf PUBLIC ${protobuf_ABSL_USED_TARGETS}) - protobuf_configure_target(libprotobuf) - if(protobuf_BUILD_SHARED_LIBS) + # Support #include-ing other top-level directories, i.e. upb_generator. + ${protobuf_SOURCE_DIR}