|
| 1 | +diff --git a/CMakeLists.txt b/CMakeLists.txt |
| 2 | +index 312eeb928..3e154785b 100644 |
| 3 | +--- a/CMakeLists.txt |
| 4 | ++++ b/CMakeLists.txt |
| 5 | +@@ -41,7 +41,7 @@ else (BUILD_SHARED_LIBS) |
| 6 | + endif (BUILD_SHARED_LIBS) |
| 7 | + option(protobuf_BUILD_SHARED_LIBS "Build Shared Libraries" ${protobuf_BUILD_SHARED_LIBS_DEFAULT}) |
| 8 | + include(CMakeDependentOption) |
| 9 | +-cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON |
| 10 | ++cmake_dependent_option(protobuf_MSVC_STATIC_RUNTIME "Link static runtime libraries" OFF |
| 11 | + "NOT protobuf_BUILD_SHARED_LIBS" OFF) |
| 12 | + set(protobuf_WITH_ZLIB_DEFAULT ON) |
| 13 | + option(protobuf_WITH_ZLIB "Build with zlib support" ${protobuf_WITH_ZLIB_DEFAULT}) |
| 14 | +@@ -158,24 +158,16 @@ endif() |
| 15 | + |
| 16 | + set(_protobuf_FIND_ZLIB) |
| 17 | + if (protobuf_WITH_ZLIB) |
| 18 | +- find_package(ZLIB) |
| 19 | +- if (ZLIB_FOUND) |
| 20 | +- set(HAVE_ZLIB 1) |
| 21 | +- # FindZLIB module define ZLIB_INCLUDE_DIRS variable |
| 22 | +- # Set ZLIB_INCLUDE_DIRECTORIES for compatible |
| 23 | +- set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS}) |
| 24 | +- # Using imported target if exists |
| 25 | +- if (TARGET ZLIB::ZLIB) |
| 26 | +- set(ZLIB_LIBRARIES ZLIB::ZLIB) |
| 27 | +- set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND)\n find_package(ZLIB)\nendif()") |
| 28 | +- endif (TARGET ZLIB::ZLIB) |
| 29 | +- else (ZLIB_FOUND) |
| 30 | +- set(HAVE_ZLIB 0) |
| 31 | +- # Explicitly set these to empty (override NOT_FOUND) so cmake doesn't |
| 32 | +- # complain when we use them later. |
| 33 | +- set(ZLIB_INCLUDE_DIRECTORIES) |
| 34 | +- set(ZLIB_LIBRARIES) |
| 35 | +- endif (ZLIB_FOUND) |
| 36 | ++ if (NOT TARGET ZLIB::ZLIB) |
| 37 | ++ find_package(ZLIB REQUIRED) |
| 38 | ++ endif() |
| 39 | ++ set(HAVE_ZLIB 1) |
| 40 | ++ # FindZLIB module define ZLIB_INCLUDE_DIRS variable |
| 41 | ++ # Set ZLIB_INCLUDE_DIRECTORIES for compatible |
| 42 | ++ set(ZLIB_INCLUDE_DIRECTORIES ${ZLIB_INCLUDE_DIRECTORIES} ${ZLIB_INCLUDE_DIRS}) |
| 43 | ++ # Using imported target if exists |
| 44 | ++ set(ZLIB_LIBRARIES ZLIB::ZLIB) |
| 45 | ++ set(_protobuf_FIND_ZLIB "if(NOT ZLIB_FOUND AND NOT TARGET ZLIB::ZLIB)\n find_package(ZLIB REQUIRED)\nendif()") |
| 46 | + endif (protobuf_WITH_ZLIB) |
| 47 | + |
| 48 | + # We need to link with libatomic on systems that do not have builtin atomics, or |
| 49 | +@@ -277,7 +269,6 @@ else (MSVC) |
| 50 | + endif (MSVC) |
| 51 | + |
| 52 | + include_directories( |
| 53 | +- ${ZLIB_INCLUDE_DIRECTORIES} |
| 54 | + ${protobuf_BINARY_DIR} |
| 55 | + # Support #include-ing other top-level directories, i.e. upb_generator. |
| 56 | + ${protobuf_SOURCE_DIR} |
| 57 | +diff --git a/cmake/install.cmake b/cmake/install.cmake |
| 58 | +index 52914a8ea..d7dc5f232 100644 |
| 59 | +--- a/cmake/install.cmake |
| 60 | ++++ b/cmake/install.cmake |
| 61 | +@@ -31,6 +31,7 @@ foreach(_library ${_protobuf_libraries}) |
| 62 | + set_property(TARGET ${_library} |
| 63 | + PROPERTY INTERFACE_INCLUDE_DIRECTORIES |
| 64 | + $<BUILD_INTERFACE:${protobuf_SOURCE_DIR}/src> |
| 65 | ++ $<BUILD_INTERFACE:${protobuf_SOURCE_DIR}> |
| 66 | + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) |
| 67 | + if (UNIX AND NOT APPLE) |
| 68 | + set_property(TARGET ${_library} |
0 commit comments