75 lines
2.9 KiB
Diff
Executable File
75 lines
2.9 KiB
Diff
Executable File
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
index 0fe939d..a1291d5 100644
|
|
--- a/CMakeLists.txt
|
|
+++ b/CMakeLists.txt
|
|
@@ -7,6 +7,7 @@ set(VERSION "1.2.12")
|
|
|
|
option(ASM686 "Enable building i686 assembly implementation")
|
|
option(AMD64 "Enable building amd64 assembly implementation")
|
|
+option(SKIP_BUILD_EXAMPLES "Skip build of the examples" OFF)
|
|
|
|
set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables")
|
|
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
|
|
@@ -124,9 +125,11 @@ set(ZLIB_SRCS
|
|
)
|
|
|
|
if(NOT MINGW)
|
|
- set(ZLIB_DLL_SRCS
|
|
- win32/zlib1.rc # If present will override custom build rule below.
|
|
- )
|
|
+ if(BUILD_SHARED_LIBS)
|
|
+ set(ZLIB_DLL_SRCS
|
|
+ win32/zlib1.rc # If present will override custom build rule below.
|
|
+ )
|
|
+ endif()
|
|
endif()
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCC)
|
|
@@ -180,11 +183,12 @@ if(MINGW)
|
|
-I ${CMAKE_CURRENT_BINARY_DIR}
|
|
-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)
|
|
+ if(BUILD_SHARED_LIBS)
|
|
+ set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
|
|
+ endif()
|
|
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})
|
|
+add_library(zlib ${ZLIB_SRCS} ${ZLIB_ASMS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
|
|
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
|
|
set_target_properties(zlib PROPERTIES SOVERSION 1)
|
|
|
|
@@ -201,7 +205,7 @@ endif()
|
|
|
|
if(UNIX)
|
|
# On unix-like platforms the library is almost always called libz
|
|
- set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z)
|
|
+ set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
|
|
if(NOT APPLE)
|
|
set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"")
|
|
endif()
|
|
@@ -211,7 +215,7 @@ elseif(BUILD_SHARED_LIBS AND WIN32)
|
|
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}" )
|
|
@@ -230,6 +234,7 @@ endif()
|
|
# Example binaries
|
|
#============================================================================
|
|
|
|
+if (NOT SKIP_BUILD_EXAMPLES)
|
|
add_executable(example test/example.c)
|
|
target_link_libraries(example zlib)
|
|
add_test(example example)
|
|
@@ -247,3 +252,4 @@ if(HAVE_OFF64_T)
|
|
target_link_libraries(minigzip64 zlib)
|
|
set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
|
|
endif()
|
|
+endif()
|