~ubuntu-branches/ubuntu/wily/smplayer/wily

« back to all changes in this revision

Viewing changes to zlib-1.2.6/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): Alessio Treglia
  • Date: 2013-02-12 03:00:21 UTC
  • mfrom: (20.1.2 experimental)
  • Revision ID: package-import@ubuntu.com-20130212030021-q5mg053fru2u6zl8
Tags: 0.8.3-1
* Team upload.
* New upstream release. (Closes: #698300)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
cmake_minimum_required(VERSION 2.4.4)
2
 
set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON)
3
 
 
4
 
project(zlib C)
5
 
 
6
 
if(NOT DEFINED BUILD_SHARED_LIBS)
7
 
    option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON)
8
 
endif()
9
 
 
10
 
include(CheckTypeSize)
11
 
include(CheckFunctionExists)
12
 
include(CheckIncludeFile)
13
 
include(CheckCSourceCompiles)
14
 
enable_testing()
15
 
 
16
 
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
17
 
check_include_file(stdint.h    HAVE_STDINT_H)
18
 
check_include_file(stddef.h    HAVE_STDDEF_H)
19
 
 
20
 
#
21
 
# Check to see if we have large file support
22
 
#
23
 
set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
24
 
# We add these other definitions here because CheckTypeSize.cmake
25
 
# in CMake 2.4.x does not automatically do so and we want
26
 
# compatibility with CMake 2.4.x.
27
 
if(HAVE_SYS_TYPES_H)
28
 
    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
29
 
endif()
30
 
if(HAVE_STDINT_H)
31
 
    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
32
 
endif()
33
 
if(HAVE_STDDEF_H)
34
 
    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
35
 
endif()
36
 
check_type_size(off64_t OFF64_T)
37
 
if(HAVE_OFF64_T)
38
 
   add_definitions(-D_LARGEFILE64_SOURCE=1)
39
 
endif()
40
 
set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
41
 
 
42
 
#
43
 
# Check for fseeko
44
 
#
45
 
check_function_exists(fseeko HAVE_FSEEKO)
46
 
if(NOT HAVE_FSEEKO)
47
 
    add_definitions(-DNO_FSEEKO)
48
 
endif()
49
 
 
50
 
#
51
 
# Check for unistd.h
52
 
#
53
 
check_include_file(unistd.h Z_HAVE_UNISTD_H)
54
 
 
55
 
if(MSVC)
56
 
    set(CMAKE_DEBUG_POSTFIX "d")
57
 
    add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
58
 
    add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
59
 
endif()
60
 
 
61
 
if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
62
 
    # If we're doing an out of source build and the user has a zconf.h
63
 
    # in their source tree...
64
 
    if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h)
65
 
        message(FATAL_ERROR
66
 
            "You must remove ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h "
67
 
            "from the source tree.  This file is included with zlib "
68
 
            "but CMake generates this file for you automatically "
69
 
            "in the build directory.")
70
 
  endif()
71
 
endif()
72
 
 
73
 
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
74
 
               ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
75
 
include_directories(${CMAKE_CURRENT_BINARY_DIR})
76
 
 
77
 
 
78
 
#============================================================================
79
 
# zlib
80
 
#============================================================================
81
 
 
82
 
set(ZLIB_PUBLIC_HDRS
83
 
    ${CMAKE_CURRENT_BINARY_DIR}/zconf.h
84
 
    zlib.h
85
 
)
86
 
set(ZLIB_PRIVATE_HDRS
87
 
    crc32.h
88
 
    deflate.h
89
 
    gzguts.h
90
 
    inffast.h
91
 
    inffixed.h
92
 
    inflate.h
93
 
    inftrees.h
94
 
    trees.h
95
 
    zutil.h
96
 
)
97
 
set(ZLIB_SRCS
98
 
    adler32.c
99
 
    compress.c
100
 
    crc32.c
101
 
    deflate.c
102
 
    gzclose.c
103
 
    gzlib.c
104
 
    gzread.c
105
 
    gzwrite.c
106
 
    inflate.c
107
 
    infback.c
108
 
    inftrees.c
109
 
    inffast.c
110
 
    trees.c
111
 
    uncompr.c
112
 
    zutil.c
113
 
)
114
 
 
115
 
if(NOT MINGW)
116
 
    set(ZLIB_SRCS ${ZLIB_SRCS}
117
 
        win32/zlib1.rc # If present will override custom build rule below.
118
 
    )
119
 
endif()
120
 
 
121
 
# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION
122
 
file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents)
123
 
string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([0-9A-Za-z.]+)\".*"
124
 
    "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents})
125
 
 
126
 
if(MINGW)
127
 
    # This gets us DLL resource information when compiling on MinGW.
128
 
    if(NOT CMAKE_RC_COMPILER)
129
 
        SET(CMAKE_RC_COMPILER windres.exe)
130
 
    endif()
131
 
 
132
 
    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
133
 
                       COMMAND ${CMAKE_RC_COMPILER}
134
 
                            -D GCC_WINDRES
135
 
                            -I ${CMAKE_CURRENT_SOURCE_DIR}
136
 
                            -I ${CMAKE_CURRENT_BINARY_DIR}
137
 
                            -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj
138
 
                            -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc)
139
 
    set(ZLIB_SRCS ${ZLIB_SRCS} ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj)
140
 
endif(MINGW)
141
 
 
142
 
add_library(zlib ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS})
143
 
set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL)
144
 
 
145
 
set_target_properties(zlib PROPERTIES SOVERSION 1)
146
 
 
147
 
if(NOT CYGWIN)
148
 
    # This property causes shared libraries on Linux to have the full version
149
 
    # encoded into their final filename.  We disable this on Cygwin because
150
 
    # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll
151
 
    # seems to be the default.
152
 
    #
153
 
    # This has no effect with MSVC, on that platform the version info for
154
 
    # the DLL comes from the resource file win32/zlib1.rc
155
 
    set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION})
156
 
endif()
157
 
 
158
 
if(UNIX)
159
 
    # On unix-like platforms the library is almost always called libz
160
 
   set_target_properties(zlib PROPERTIES OUTPUT_NAME z)
161
 
elseif(BUILD_SHARED_LIBS AND WIN32)
162
 
    # Creates zlib1.dll when building shared library version
163
 
    set_target_properties(zlib PROPERTIES SUFFIX "1.dll")
164
 
endif()
165
 
 
166
 
if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL )
167
 
    install(TARGETS zlib
168
 
        RUNTIME DESTINATION bin
169
 
        ARCHIVE DESTINATION lib
170
 
        LIBRARY DESTINATION lib )
171
 
endif()
172
 
if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL )
173
 
    install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION include)
174
 
endif()
175
 
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
176
 
    install(FILES zlib.3 DESTINATION share/man/man3)
177
 
endif()
178
 
 
179
 
#============================================================================
180
 
# Example binaries
181
 
#============================================================================
182
 
 
183
 
add_executable(example test/example.c)
184
 
target_link_libraries(example zlib)
185
 
add_test(example example)
186
 
 
187
 
add_executable(minigzip test/minigzip.c)
188
 
target_link_libraries(minigzip zlib)
189
 
 
190
 
if(HAVE_OFF64_T)
191
 
    add_executable(example64 test/example.c)
192
 
    target_link_libraries(example64 zlib)
193
 
    set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
194
 
    add_test(example64 example64)
195
 
 
196
 
    add_executable(minigzip64 test/minigzip.c)
197
 
    target_link_libraries(minigzip64 zlib)
198
 
    set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64")
199
 
endif()