|
1 | 1 | cmake_minimum_required(VERSION 2.4.4...3.15.0)
|
2 | 2 | set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
|
3 | 3 |
|
| 4 | +if(POLICY CMP0091) |
| 5 | + cmake_policy(SET CMP0091 NEW) |
| 6 | +endif() |
| 7 | + |
4 | 8 | project(zlib C)
|
5 | 9 |
|
6 | 10 | set(VERSION "1.3.0.1")
|
7 | 11 |
|
| 12 | +option(ZLIB_STATIC_LINK_CRT "Link the MSVC runtime library statically" OFF) |
| 13 | + |
8 | 14 | set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
|
9 | 15 | set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
|
10 | 16 | set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
|
@@ -76,12 +82,24 @@ if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
|
76 | 82 | endif()
|
77 | 83 |
|
78 | 84 | set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc)
|
79 |
| -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein |
80 |
| - ${ZLIB_PC} @ONLY) |
81 |
| -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein |
82 |
| - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) |
| 85 | +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein |
| 86 | + ${ZLIB_PC} @ONLY) |
| 87 | +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein |
| 88 | + ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) |
83 | 89 | include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR})
|
84 | 90 |
|
| 91 | +if(POLICY CMP0091) |
| 92 | + # CMake >= 3.15 has CMAKE_MSVC_RUNTIME_LIBRARY to set the MSVCC runtime library |
| 93 | + if(WIN32 AND CMAKE_GENERATOR MATCHES "Visual Studio .*|NMake .*") |
| 94 | + if(ZLIB_STATIC_LINK_CRT) |
| 95 | + message(STATUS "Configuring to link the MSVC runtime library statically") |
| 96 | + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") |
| 97 | + else() |
| 98 | + message(STATUS "Configuring to link the MSVC runtime library dynamically") |
| 99 | + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL") |
| 100 | + endif() |
| 101 | + endif() |
| 102 | +endif() |
85 | 103 |
|
86 | 104 | #============================================================================
|
87 | 105 | # zlib
|
|
0 commit comments