|
|
|
@ -5,6 +5,9 @@ project(zlib C) |
|
|
|
|
|
|
|
|
|
set(VERSION "1.2.7") |
|
|
|
|
|
|
|
|
|
option(ASM686 "Enable building i686 assembly implementation") |
|
|
|
|
option(AMD64 "Enable building amd64 assembly implementation") |
|
|
|
|
|
|
|
|
|
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") |
|
|
|
|
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers") |
|
|
|
@ -126,6 +129,39 @@ if(NOT MINGW) |
|
|
|
|
) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCC) |
|
|
|
|
if(ASM686) |
|
|
|
|
set(ZLIB_ASMS contrib/asm686/match.S) |
|
|
|
|
elseif (AMD64) |
|
|
|
|
set(ZLIB_ASMS contrib/amd64/amd64-match.S) |
|
|
|
|
endif () |
|
|
|
|
|
|
|
|
|
if(ZLIB_ASMS) |
|
|
|
|
add_definitions(-DASMV) |
|
|
|
|
set_source_files_properties(${ZLIB_ASMS} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(MSVC) |
|
|
|
|
if(ASM686) |
|
|
|
|
ENABLE_LANGUAGE(ASM_MASM) |
|
|
|
|
set(ZLIB_ASMS |
|
|
|
|
contrib/masmx86/inffas32.asm |
|
|
|
|
contrib/masmx86/match686.asm |
|
|
|
|
) |
|
|
|
|
elseif (AMD64) |
|
|
|
|
ENABLE_LANGUAGE(ASM_MASM) |
|
|
|
|
set(ZLIB_ASMS |
|
|
|
|
contrib/masmx64/gvmat64.asm |
|
|
|
|
contrib/masmx64/inffasx64.asm |
|
|
|
|
) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(ZLIB_ASMS) |
|
|
|
|
add_definitions(-DASMV -DASMINF) |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION |
|
|
|
|
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) |
|
|
|
|
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" |
|
|
|
@ -147,8 +183,8 @@ if(MINGW) |
|
|
|
|
set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) |
|
|
|
|
endif(MINGW) |
|
|
|
|
|
|
|
|
|
add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) |
|
|
|
|
add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) |
|
|
|
|
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) |
|
|
|
|
|
|
|
|
|