-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
172 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index ac0d03c3a..ac8aee8a7 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -41,7 +41,7 @@ else (BUILD_SHARED_LIBS) | ||
endif (BUILD_SHARED_LIBS) | ||
option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHARED_LIBS_DEFAULT}) | ||
include(CMakeDependentOption) | ||
-cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON | ||
+cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" OFF | ||
"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() | ||
|
||
set(_protobuf_FIND_ZLIB) | ||
if (protobuf_WITH_ZLIB) | ||
- find_package(ZLIB) | ||
- if (ZLIB_FOUND) | ||
- set(HAVE_ZLIB 1) | ||
- # FindZLIB module define ZLIB_INCLUDE_DIRS variable | ||
- # Set ZLIB_INCLUDE_DIRECTORIES for compatible | ||
- set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS}) | ||
- # Using imported target if exists | ||
- if (TARGET ZLIB::ZLIB) | ||
- set(ZLIB_LIBRARIES ZLIB::ZLIB) | ||
- set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND)\n find_package(ZLIB)\nendif()") | ||
- endif (TARGET ZLIB::ZLIB) | ||
- else (ZLIB_FOUND) | ||
- set(HAVE_ZLIB 0) | ||
- # Explicitly set these to empty (override NOT_FOUND) so cmake doesn't | ||
- # complain when we use them later. | ||
- set(ZLIB_INCLUDE_DIRECTORIES) | ||
- set(ZLIB_LIBRARIES) | ||
- endif (ZLIB_FOUND) | ||
+ if (NOT TARGET ZLIB::ZLIB) | ||
+ find_package(ZLIB REQUIRED) | ||
+ endif() | ||
+ set(HAVE_ZLIB 1) | ||
+ # FindZLIB module define ZLIB_INCLUDE_DIRS variable | ||
+ # Set ZLIB_INCLUDE_DIRECTORIES for compatible | ||
+ set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS}) | ||
+ # Using imported target if exists | ||
+ set(ZLIB_LIBRARIES ZLIB::ZLIB) | ||
+ set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND AND NOT TARGET ZLIB::ZLIB)\n find_package(ZLIB REQUIRED)\nendif()") | ||
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) | ||
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) |