Merge pull request #1128 from stweil/typos
[openjpeg.git] / thirdparty / libz / CMakeLists.txt
1 #based on zlib-1.2.5/CMakeLists.txt
2 #
3 cmake_minimum_required(VERSION 2.6)
4 set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
5
6 project(zlib C)
7
8 include(CheckTypeSize)
9 include(CheckFunctionExists)
10 include(CheckIncludeFile)
11 include(CheckCSourceCompiles)
12
13 CHECK_INCLUDE_FILE(sys/types.h HAVE_SYS_TYPES_H)
14 CHECK_INCLUDE_FILE(stdint.h    HAVE_STDINT_H)
15 CHECK_INCLUDE_FILE(stddef.h    HAVE_STDDEF_H)
16
17 #
18 # Check to see if we have large file support
19 #
20 set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
21 # We add these other definitions here because CheckTypeSize.cmake
22 # in CMake 2.4.x does not automatically do so and we want
23 # compatibility with CMake 2.4.x.
24 if(HAVE_SYS_TYPES_H)
25     list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
26 endif()
27 if(HAVE_STDINT_H)
28     list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
29 endif()
30 if(HAVE_STDDEF_H)
31     list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
32 endif()
33 CHECK_TYPE_SIZE(off64_t OFF64_T)
34 if(HAVE_OFF64_T)
35    add_definitions(-D_LARGEFILE64_SOURCE=1)
36 endif()
37 set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
38 #
39 # Check for fseeko
40 #
41 CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO)
42 if(NOT HAVE_FSEEKO)
43     add_definitions(-DNO_FSEEKO)
44 endif()
45 #
46 # Check for unistd.h
47 #
48 CHECK_INCLUDE_FILE(unistd.h Z_HAVE_UNISTD_H)
49
50 include_directories(
51  ${CMAKE_CURRENT_SOURCE_DIR}
52  ${OPENJPEG_SOURCE_DIR}/thirdparty/include
53 )
54 #
55 set(EXT_HDRS
56  ${OPENJPEG_SOURCE_DIR}/thirdparty/include/zlib.h
57  ${OPENJPEG_SOURCE_DIR}/thirdparty/include/zconf.h
58 )
59
60 set(HDRS
61     crc32.h
62     deflate.h
63     gzguts.h
64     inffast.h
65     inffixed.h
66     inflate.h
67     inftrees.h
68     trees.h
69     zutil.h
70 )
71 set(SRCS
72     adler32.c
73     compress.c
74     crc32.c
75     deflate.c
76     gzclose.c
77     gzlib.c
78     gzread.c
79     gzwrite.c
80     inflate.c
81     infback.c
82     inftrees.c
83     inffast.c
84     trees.c
85     uncompr.c
86     zutil.c
87 )
88
89 set(LIBTARGET "z")
90 #
91 add_library(${LIBTARGET} STATIC ${SRCS} ${EXT_HDRS} ${HDRS})
92 #
93 if(MSVC)
94   set_target_properties(${LIBTARGET} PROPERTIES PREFIX "lib")
95 endif(MSVC)
96
97 set_target_properties(${LIBTARGET}
98     PROPERTIES
99     OUTPUT_NAME "${LIBTARGET}"
100     ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/thirdparty/lib
101 )
102 #