-
-
Notifications
You must be signed in to change notification settings - Fork 512
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #895 from mavlink/revert-libz-cmake
Revert zlib patch for cmake config
- Loading branch information
Showing
3 changed files
with
91 additions
and
313 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,89 @@ | ||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index 0fe939d..1873459 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -123,7 +123,7 @@ set(ZLIB_SRCS | ||
zutil.c | ||
) | ||
|
||
-if(NOT MINGW) | ||
+if(BUILD_SHARED_LIBS AND NOT MINGW) | ||
set(ZLIB_DLL_SRCS | ||
win32/zlib1.rc # If present will override custom build rule below. | ||
) | ||
@@ -167,7 +167,7 @@ file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) | ||
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" | ||
"\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) | ||
|
||
-if(MINGW) | ||
+if(BUILD_SHARED_LIBS AND MINGW) | ||
# This gets us DLL resource information when compiling on MinGW. | ||
if(NOT CMAKE_RC_COMPILER) | ||
set(CMAKE_RC_COMPILER windres.exe) | ||
@@ -181,37 +181,42 @@ if(MINGW) | ||
-o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj | ||
-i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) | ||
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) | ||
-endif(MINGW) | ||
- | ||
-add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) | ||
-add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) | ||
-set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) | ||
-set_target_properties(zlib PROPERTIES SOVERSION 1) | ||
- | ||
-if(NOT CYGWIN) | ||
- # This property causes shared libraries on Linux to have the full version | ||
- # encoded into their final filename. We disable this on Cygwin because | ||
- # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll | ||
- # seems to be the default. | ||
- # | ||
- # This has no effect with MSVC, on that platform the version info for | ||
- # the DLL comes from the resource file win32/zlib1.rc | ||
- set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) | ||
endif() | ||
|
||
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) | ||
+ | ||
if(UNIX) | ||
# On unix-like platforms the library is almost always called libz | ||
- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) | ||
- if(NOT APPLE) | ||
- set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") | ||
- endif() | ||
-elseif(BUILD_SHARED_LIBS AND WIN32) | ||
- # Creates zlib1.dll when building shared library version | ||
- set_target_properties(zlib PROPERTIES SUFFIX "1.dll") | ||
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME z) | ||
+endif() | ||
+ | ||
+if(BUILD_SHARED_LIBS) | ||
+ set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) | ||
+ set_target_properties(zlib PROPERTIES SOVERSION 1) | ||
+ | ||
+ if(NOT CYGWIN) | ||
+ # This property causes shared libraries on Linux to have the full version | ||
+ # encoded into their final filename. We disable this on Cygwin because | ||
+ # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll | ||
+ # seems to be the default. | ||
+ # | ||
+ # This has no effect with MSVC, on that platform the version info for | ||
+ # the DLL comes from the resource file win32/zlib1.rc | ||
+ set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) | ||
+ endif() | ||
+ | ||
+ if(UNIX AND NOT APPLE) | ||
+ set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") | ||
+ endif() | ||
+ | ||
+ if(WIN32) | ||
+ # Creates zlib1.dll when building shared library version | ||
+ set_target_properties(zlib PROPERTIES SUFFIX "1.dll") | ||
+ endif() | ||
endif() | ||
|
||
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) | ||
- install(TARGETS zlib zlibstatic | ||
+ install(TARGETS zlib | ||
RUNTIME DESTINATION "${INSTALL_BIN_DIR}" | ||
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" | ||
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) |
Oops, something went wrong.