diff options
Diffstat (limited to 'libraries/irrlicht-1.8/source/Irrlicht/libpng/CMakeLists.txt')
-rw-r--r-- | libraries/irrlicht-1.8/source/Irrlicht/libpng/CMakeLists.txt | 696 |
1 files changed, 348 insertions, 348 deletions
diff --git a/libraries/irrlicht-1.8/source/Irrlicht/libpng/CMakeLists.txt b/libraries/irrlicht-1.8/source/Irrlicht/libpng/CMakeLists.txt index e9a421a..f0f3e85 100644 --- a/libraries/irrlicht-1.8/source/Irrlicht/libpng/CMakeLists.txt +++ b/libraries/irrlicht-1.8/source/Irrlicht/libpng/CMakeLists.txt | |||
@@ -1,348 +1,348 @@ | |||
1 | # CMakeLists.txt | 1 | # CMakeLists.txt |
2 | 2 | ||
3 | # Copyright (C) 2007-2011 Glenn Randers-Pehrson | 3 | # Copyright (C) 2007-2011 Glenn Randers-Pehrson |
4 | 4 | ||
5 | # This code is released under the libpng license. | 5 | # This code is released under the libpng license. |
6 | # For conditions of distribution and use, see the disclaimer | 6 | # For conditions of distribution and use, see the disclaimer |
7 | # and license in png.h | 7 | # and license in png.h |
8 | 8 | ||
9 | cmake_minimum_required(VERSION 2.4.4) | 9 | cmake_minimum_required(VERSION 2.4.4) |
10 | set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) | 10 | set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) |
11 | 11 | ||
12 | if(UNIX AND NOT DEFINED CMAKE_BUILD_TYPE) | 12 | if(UNIX AND NOT DEFINED CMAKE_BUILD_TYPE) |
13 | if(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION EQUAL 4) | 13 | if(CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION EQUAL 4) |
14 | # workaround CMake 2.4.x bug | 14 | # workaround CMake 2.4.x bug |
15 | set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING | 15 | set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING |
16 | "Choose the type of build, options are: | 16 | "Choose the type of build, options are: |
17 | None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) | 17 | None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) |
18 | Debug | 18 | Debug |
19 | Release | 19 | Release |
20 | RelWithDebInfo | 20 | RelWithDebInfo |
21 | MinSizeRel.") | 21 | MinSizeRel.") |
22 | else() | 22 | else() |
23 | set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING | 23 | set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING |
24 | "Choose the type of build, options are: | 24 | "Choose the type of build, options are: |
25 | None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) | 25 | None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) |
26 | Debug | 26 | Debug |
27 | Release | 27 | Release |
28 | RelWithDebInfo | 28 | RelWithDebInfo |
29 | MinSizeRel.") | 29 | MinSizeRel.") |
30 | endif() | 30 | endif() |
31 | endif() | 31 | endif() |
32 | 32 | ||
33 | project(libpng C) | 33 | project(libpng C) |
34 | enable_testing() | 34 | enable_testing() |
35 | 35 | ||
36 | set(PNGLIB_MAJOR 1) | 36 | set(PNGLIB_MAJOR 1) |
37 | set(PNGLIB_MINOR 5) | 37 | set(PNGLIB_MINOR 5) |
38 | set(PNGLIB_RELEASE 9) | 38 | set(PNGLIB_RELEASE 9) |
39 | set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR}) | 39 | set(PNGLIB_NAME libpng${PNGLIB_MAJOR}${PNGLIB_MINOR}) |
40 | set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE}) | 40 | set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_RELEASE}) |
41 | 41 | ||
42 | # needed packages | 42 | # needed packages |
43 | find_package(ZLIB REQUIRED) | 43 | find_package(ZLIB REQUIRED) |
44 | include_directories(${ZLIB_INCLUDE_DIR}) | 44 | include_directories(${ZLIB_INCLUDE_DIR}) |
45 | 45 | ||
46 | if(NOT WIN32) | 46 | if(NOT WIN32) |
47 | find_library(M_LIBRARY | 47 | find_library(M_LIBRARY |
48 | NAMES m | 48 | NAMES m |
49 | PATHS /usr/lib /usr/local/lib | 49 | PATHS /usr/lib /usr/local/lib |
50 | ) | 50 | ) |
51 | if(NOT M_LIBRARY) | 51 | if(NOT M_LIBRARY) |
52 | message(STATUS | 52 | message(STATUS |
53 | "math library 'libm' not found - floating point support disabled") | 53 | "math library 'libm' not found - floating point support disabled") |
54 | endif() | 54 | endif() |
55 | else() | 55 | else() |
56 | # not needed on windows | 56 | # not needed on windows |
57 | set(M_LIBRARY "") | 57 | set(M_LIBRARY "") |
58 | endif() | 58 | endif() |
59 | 59 | ||
60 | # COMMAND LINE OPTIONS | 60 | # COMMAND LINE OPTIONS |
61 | if(DEFINED PNG_SHARED) | 61 | if(DEFINED PNG_SHARED) |
62 | option(PNG_SHARED "Build shared lib" ${PNG_SHARED}) | 62 | option(PNG_SHARED "Build shared lib" ${PNG_SHARED}) |
63 | else() | 63 | else() |
64 | option(PNG_SHARED "Build shared lib" ON) | 64 | option(PNG_SHARED "Build shared lib" ON) |
65 | endif() | 65 | endif() |
66 | if(DEFINED PNG_STATIC) | 66 | if(DEFINED PNG_STATIC) |
67 | option(PNG_STATIC "Build static lib" ${PNG_STATIC}) | 67 | option(PNG_STATIC "Build static lib" ${PNG_STATIC}) |
68 | else() | 68 | else() |
69 | option(PNG_STATIC "Build static lib" ON) | 69 | option(PNG_STATIC "Build static lib" ON) |
70 | endif() | 70 | endif() |
71 | 71 | ||
72 | option(PNG_TESTS "Build libpng tests" YES) | 72 | option(PNG_TESTS "Build libpng tests" YES) |
73 | 73 | ||
74 | # Many more configuration options could be added here | 74 | # Many more configuration options could be added here |
75 | option(PNG_DEBUG "Build with debug output" NO) | 75 | option(PNG_DEBUG "Build with debug output" NO) |
76 | option(PNGARG "Disable ANSI-C prototypes" NO) | 76 | option(PNGARG "Disable ANSI-C prototypes" NO) |
77 | 77 | ||
78 | # SET LIBNAME | 78 | # SET LIBNAME |
79 | set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR}) | 79 | set(PNG_LIB_NAME png${PNGLIB_MAJOR}${PNGLIB_MINOR}) |
80 | 80 | ||
81 | # to distinguish between debug and release lib | 81 | # to distinguish between debug and release lib |
82 | set(CMAKE_DEBUG_POSTFIX "d") | 82 | set(CMAKE_DEBUG_POSTFIX "d") |
83 | 83 | ||
84 | # Use the prebuilt pnglibconf.h file from the scripts folder | 84 | # Use the prebuilt pnglibconf.h file from the scripts folder |
85 | # TODO: fix this by building with awk; without this no cmake build can be | 85 | # TODO: fix this by building with awk; without this no cmake build can be |
86 | # configured directly (to do so indirectly use your local awk to build a | 86 | # configured directly (to do so indirectly use your local awk to build a |
87 | # pnglibconf.h in the build directory.) | 87 | # pnglibconf.h in the build directory.) |
88 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt | 88 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt |
89 | ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h) | 89 | ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h) |
90 | include_directories(${CMAKE_CURRENT_BINARY_DIR}) | 90 | include_directories(${CMAKE_CURRENT_BINARY_DIR}) |
91 | 91 | ||
92 | # OUR SOURCES | 92 | # OUR SOURCES |
93 | set(libpng_public_hdrs | 93 | set(libpng_public_hdrs |
94 | png.h | 94 | png.h |
95 | pngconf.h | 95 | pngconf.h |
96 | ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h | 96 | ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h |
97 | ) | 97 | ) |
98 | set(libpng_sources | 98 | set(libpng_sources |
99 | ${libpng_public_hdrs} | 99 | ${libpng_public_hdrs} |
100 | pngdebug.h | 100 | pngdebug.h |
101 | pnginfo.h | 101 | pnginfo.h |
102 | pngpriv.h | 102 | pngpriv.h |
103 | pngstruct.h | 103 | pngstruct.h |
104 | png.c | 104 | png.c |
105 | pngerror.c | 105 | pngerror.c |
106 | pngget.c | 106 | pngget.c |
107 | pngmem.c | 107 | pngmem.c |
108 | pngpread.c | 108 | pngpread.c |
109 | pngread.c | 109 | pngread.c |
110 | pngrio.c | 110 | pngrio.c |
111 | pngrtran.c | 111 | pngrtran.c |
112 | pngrutil.c | 112 | pngrutil.c |
113 | pngset.c | 113 | pngset.c |
114 | pngtrans.c | 114 | pngtrans.c |
115 | pngwio.c | 115 | pngwio.c |
116 | pngwrite.c | 116 | pngwrite.c |
117 | pngwtran.c | 117 | pngwtran.c |
118 | pngwutil.c | 118 | pngwutil.c |
119 | ) | 119 | ) |
120 | set(pngtest_sources | 120 | set(pngtest_sources |
121 | pngtest.c | 121 | pngtest.c |
122 | ) | 122 | ) |
123 | set(pngvalid_sources | 123 | set(pngvalid_sources |
124 | contrib/libtests/pngvalid.c | 124 | contrib/libtests/pngvalid.c |
125 | ) | 125 | ) |
126 | # SOME NEEDED DEFINITIONS | 126 | # SOME NEEDED DEFINITIONS |
127 | 127 | ||
128 | add_definitions(-DPNG_CONFIGURE_LIBPNG) | 128 | add_definitions(-DPNG_CONFIGURE_LIBPNG) |
129 | 129 | ||
130 | if(MSVC) | 130 | if(MSVC) |
131 | add_definitions(-D_CRT_SECURE_NO_DEPRECATE) | 131 | add_definitions(-D_CRT_SECURE_NO_DEPRECATE) |
132 | endif(MSVC) | 132 | endif(MSVC) |
133 | 133 | ||
134 | if(PNG_DEBUG) | 134 | if(PNG_DEBUG) |
135 | add_definitions(-DPNG_DEBUG) | 135 | add_definitions(-DPNG_DEBUG) |
136 | endif() | 136 | endif() |
137 | 137 | ||
138 | # NOW BUILD OUR TARGET | 138 | # NOW BUILD OUR TARGET |
139 | include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR}) | 139 | include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${ZLIB_INCLUDE_DIR}) |
140 | 140 | ||
141 | if(PNG_SHARED) | 141 | if(PNG_SHARED) |
142 | add_library(${PNG_LIB_NAME} SHARED ${libpng_sources}) | 142 | add_library(${PNG_LIB_NAME} SHARED ${libpng_sources}) |
143 | if(MSVC) | 143 | if(MSVC) |
144 | # msvc does not append 'lib' - do it here to have consistent name | 144 | # msvc does not append 'lib' - do it here to have consistent name |
145 | set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib") | 145 | set_target_properties(${PNG_LIB_NAME} PROPERTIES PREFIX "lib") |
146 | set_target_properties(${PNG_LIB_NAME} PROPERTIES IMPORT_PREFIX "lib") | 146 | set_target_properties(${PNG_LIB_NAME} PROPERTIES IMPORT_PREFIX "lib") |
147 | endif() | 147 | endif() |
148 | target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY}) | 148 | target_link_libraries(${PNG_LIB_NAME} ${ZLIB_LIBRARY} ${M_LIBRARY}) |
149 | endif() | 149 | endif() |
150 | 150 | ||
151 | if(PNG_STATIC) | 151 | if(PNG_STATIC) |
152 | # does not work without changing name | 152 | # does not work without changing name |
153 | set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static) | 153 | set(PNG_LIB_NAME_STATIC ${PNG_LIB_NAME}_static) |
154 | add_library(${PNG_LIB_NAME_STATIC} STATIC ${libpng_sources}) | 154 | add_library(${PNG_LIB_NAME_STATIC} STATIC ${libpng_sources}) |
155 | if(MSVC) | 155 | if(MSVC) |
156 | # msvc does not append 'lib' - do it here to have consistent name | 156 | # msvc does not append 'lib' - do it here to have consistent name |
157 | set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib") | 157 | set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES PREFIX "lib") |
158 | endif() | 158 | endif() |
159 | target_link_libraries(${PNG_LIB_NAME_STATIC} ${ZLIB_LIBRARY} ${M_LIBRARY}) | 159 | target_link_libraries(${PNG_LIB_NAME_STATIC} ${ZLIB_LIBRARY} ${M_LIBRARY}) |
160 | endif() | 160 | endif() |
161 | 161 | ||
162 | if(PNG_SHARED AND WIN32) | 162 | if(PNG_SHARED AND WIN32) |
163 | set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL) | 163 | set_target_properties(${PNG_LIB_NAME} PROPERTIES DEFINE_SYMBOL PNG_BUILD_DLL) |
164 | endif() | 164 | endif() |
165 | 165 | ||
166 | if(PNG_TESTS AND PNG_SHARED) | 166 | if(PNG_TESTS AND PNG_SHARED) |
167 | # does not work with msvc due to png_lib_ver issue | 167 | # does not work with msvc due to png_lib_ver issue |
168 | add_executable(pngtest ${pngtest_sources}) | 168 | add_executable(pngtest ${pngtest_sources}) |
169 | target_link_libraries(pngtest ${PNG_LIB_NAME}) | 169 | target_link_libraries(pngtest ${PNG_LIB_NAME}) |
170 | add_test(pngtest ./pngtest ${CMAKE_CURRENT_SOURCE_DIR}/pngtest.png) | 170 | add_test(pngtest ./pngtest ${CMAKE_CURRENT_SOURCE_DIR}/pngtest.png) |
171 | # | 171 | # |
172 | add_executable(pngvalid ${pngvalid_sources}) | 172 | add_executable(pngvalid ${pngvalid_sources}) |
173 | target_link_libraries(pngvalid ${PNG_LIB_NAME}) | 173 | target_link_libraries(pngvalid ${PNG_LIB_NAME}) |
174 | add_test(pngvalid ./pngvalid) | 174 | add_test(pngvalid ./pngvalid) |
175 | endif() | 175 | endif() |
176 | 176 | ||
177 | # Ensure the CMAKE_LIBRARY_OUTPUT_DIRECTORY is set | 177 | # Ensure the CMAKE_LIBRARY_OUTPUT_DIRECTORY is set |
178 | IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) | 178 | IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) |
179 | IF(WIN32) | 179 | IF(WIN32) |
180 | SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "bin") | 180 | SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "bin") |
181 | ELSE(WIN32) | 181 | ELSE(WIN32) |
182 | SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "lib") | 182 | SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "lib") |
183 | ENDIF(WIN32) | 183 | ENDIF(WIN32) |
184 | ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) | 184 | ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY) |
185 | 185 | ||
186 | # Set a variable with CMake code which: | 186 | # Set a variable with CMake code which: |
187 | # Creates a symlink from src to dest (if possible) or alternatively | 187 | # Creates a symlink from src to dest (if possible) or alternatively |
188 | # copies if different. | 188 | # copies if different. |
189 | macro(CREATE_SYMLINK SRC_FILE DEST_FILE) | 189 | macro(CREATE_SYMLINK SRC_FILE DEST_FILE) |
190 | FILE(REMOVE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE}) | 190 | FILE(REMOVE ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE}) |
191 | if(WIN32 AND NOT CYGWIN AND NOT MINGW) | 191 | if(WIN32 AND NOT CYGWIN AND NOT MINGW) |
192 | ADD_CUSTOM_COMMAND( | 192 | ADD_CUSTOM_COMMAND( |
193 | OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE} | 193 | OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE} |
194 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} | 194 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} |
195 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${SRC_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE} | 195 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${SRC_FILE} ${CMAKE_CURRENT_BINARY_DIR}/${DEST_FILE} |
196 | DEPENDS ${PNG_LIB_NAME} ${PNG_LIB_NAME_STATIC} | 196 | DEPENDS ${PNG_LIB_NAME} ${PNG_LIB_NAME_STATIC} |
197 | ) | 197 | ) |
198 | ADD_CUSTOM_TARGET(${DEST_FILE}_COPY ALL DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE}) | 198 | ADD_CUSTOM_TARGET(${DEST_FILE}_COPY ALL DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE}) |
199 | else(WIN32 AND NOT CYGWIN AND NOT MINGW) | 199 | else(WIN32 AND NOT CYGWIN AND NOT MINGW) |
200 | execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) | 200 | execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) |
201 | execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) | 201 | execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SRC_FILE} ${DEST_FILE} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) |
202 | endif(WIN32 AND NOT CYGWIN AND NOT MINGW) | 202 | endif(WIN32 AND NOT CYGWIN AND NOT MINGW) |
203 | endmacro() | 203 | endmacro() |
204 | 204 | ||
205 | # libpng is a library so default to 'lib' | 205 | # libpng is a library so default to 'lib' |
206 | if(NOT DEFINED CMAKE_INSTALL_LIBDIR) | 206 | if(NOT DEFINED CMAKE_INSTALL_LIBDIR) |
207 | set(CMAKE_INSTALL_LIBDIR lib) | 207 | set(CMAKE_INSTALL_LIBDIR lib) |
208 | endif(NOT DEFINED CMAKE_INSTALL_LIBDIR) | 208 | endif(NOT DEFINED CMAKE_INSTALL_LIBDIR) |
209 | 209 | ||
210 | # CREATE PKGCONFIG FILES | 210 | # CREATE PKGCONFIG FILES |
211 | # we use the same files like ./configure, so we have to set its vars | 211 | # we use the same files like ./configure, so we have to set its vars |
212 | # Only do this on Windows for Cygwin - the files don't make much sense outside | 212 | # Only do this on Windows for Cygwin - the files don't make much sense outside |
213 | # a UNIX look alike | 213 | # a UNIX look alike |
214 | if(NOT WIN32 OR CYGWIN OR MINGW) | 214 | if(NOT WIN32 OR CYGWIN OR MINGW) |
215 | set(prefix ${CMAKE_INSTALL_PREFIX}) | 215 | set(prefix ${CMAKE_INSTALL_PREFIX}) |
216 | set(exec_prefix ${CMAKE_INSTALL_PREFIX}) | 216 | set(exec_prefix ${CMAKE_INSTALL_PREFIX}) |
217 | set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) | 217 | set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}) |
218 | set(includedir ${CMAKE_INSTALL_PREFIX}/include) | 218 | set(includedir ${CMAKE_INSTALL_PREFIX}/include) |
219 | set(LIBS "-lz -lm") | 219 | set(LIBS "-lz -lm") |
220 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in | 220 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng.pc.in |
221 | ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY) | 221 | ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc @ONLY) |
222 | CREATE_SYMLINK(${PNGLIB_NAME}.pc libpng.pc) | 222 | CREATE_SYMLINK(${PNGLIB_NAME}.pc libpng.pc) |
223 | 223 | ||
224 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in | 224 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libpng-config.in |
225 | ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY) | 225 | ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config @ONLY) |
226 | CREATE_SYMLINK(${PNGLIB_NAME}-config libpng-config) | 226 | CREATE_SYMLINK(${PNGLIB_NAME}-config libpng-config) |
227 | endif(NOT WIN32 OR CYGWIN OR MINGW) | 227 | endif(NOT WIN32 OR CYGWIN OR MINGW) |
228 | 228 | ||
229 | # SET UP LINKS | 229 | # SET UP LINKS |
230 | if(PNG_SHARED) | 230 | if(PNG_SHARED) |
231 | set_target_properties(${PNG_LIB_NAME} PROPERTIES | 231 | set_target_properties(${PNG_LIB_NAME} PROPERTIES |
232 | # VERSION 15.${PNGLIB_RELEASE}.1.5.9 | 232 | # VERSION 15.${PNGLIB_RELEASE}.1.5.9 |
233 | VERSION 15.${PNGLIB_RELEASE}.0 | 233 | VERSION 15.${PNGLIB_RELEASE}.0 |
234 | SOVERSION 15 | 234 | SOVERSION 15 |
235 | CLEAN_DIRECT_OUTPUT 1) | 235 | CLEAN_DIRECT_OUTPUT 1) |
236 | endif() | 236 | endif() |
237 | if(PNG_STATIC) | 237 | if(PNG_STATIC) |
238 | # MSVC doesn't use a different file extension for shared vs. static | 238 | # MSVC doesn't use a different file extension for shared vs. static |
239 | # libs. We are able to change OUTPUT_NAME to remove the _static | 239 | # libs. We are able to change OUTPUT_NAME to remove the _static |
240 | # for all other platforms. | 240 | # for all other platforms. |
241 | if(NOT MSVC) | 241 | if(NOT MSVC) |
242 | set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES | 242 | set_target_properties(${PNG_LIB_NAME_STATIC} PROPERTIES |
243 | OUTPUT_NAME ${PNG_LIB_NAME} | 243 | OUTPUT_NAME ${PNG_LIB_NAME} |
244 | CLEAN_DIRECT_OUTPUT 1) | 244 | CLEAN_DIRECT_OUTPUT 1) |
245 | endif() | 245 | endif() |
246 | endif() | 246 | endif() |
247 | 247 | ||
248 | # If CMake > 2.4.x, we set a variable used below to export | 248 | # If CMake > 2.4.x, we set a variable used below to export |
249 | # targets to an export file. | 249 | # targets to an export file. |
250 | # TODO: Use VERSION_GREATER after our cmake_minimum_required >= 2.6.2 | 250 | # TODO: Use VERSION_GREATER after our cmake_minimum_required >= 2.6.2 |
251 | if(CMAKE_MAJOR_VERSION GREATER 1 AND CMAKE_MINOR_VERSION GREATER 4) | 251 | if(CMAKE_MAJOR_VERSION GREATER 1 AND CMAKE_MINOR_VERSION GREATER 4) |
252 | set(PNG_EXPORT_RULE EXPORT libpng) | 252 | set(PNG_EXPORT_RULE EXPORT libpng) |
253 | elseif(CMAKE_MAJOR_VERSION GREATER 2) # future proof | 253 | elseif(CMAKE_MAJOR_VERSION GREATER 2) # future proof |
254 | set(PNG_EXPORT_RULE EXPORT libpng) | 254 | set(PNG_EXPORT_RULE EXPORT libpng) |
255 | endif() | 255 | endif() |
256 | 256 | ||
257 | # INSTALL | 257 | # INSTALL |
258 | if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) | 258 | if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) |
259 | if(PNG_SHARED) | 259 | if(PNG_SHARED) |
260 | install(TARGETS ${PNG_LIB_NAME} | 260 | install(TARGETS ${PNG_LIB_NAME} |
261 | ${PNG_EXPORT_RULE} | 261 | ${PNG_EXPORT_RULE} |
262 | RUNTIME DESTINATION bin | 262 | RUNTIME DESTINATION bin |
263 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | 263 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
264 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) | 264 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
265 | 265 | ||
266 | # Create a symlink for libpng.dll.a => libpng15.dll.a on Cygwin | 266 | # Create a symlink for libpng.dll.a => libpng15.dll.a on Cygwin |
267 | if(CYGWIN OR MINGW) | 267 | if(CYGWIN OR MINGW) |
268 | get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME} LOCATION_${CMAKE_BUILD_TYPE}) | 268 | get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME} LOCATION_${CMAKE_BUILD_TYPE}) |
269 | get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME) | 269 | get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME) |
270 | CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_IMPORT_LIBRARY_SUFFIX}) | 270 | CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_IMPORT_LIBRARY_SUFFIX}) |
271 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} | 271 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_IMPORT_LIBRARY_SUFFIX} |
272 | DESTINATION ${CMAKE_INSTALL_LIBDIR}) | 272 | DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
273 | endif(CYGWIN OR MINGW) | 273 | endif(CYGWIN OR MINGW) |
274 | 274 | ||
275 | if(NOT WIN32) | 275 | if(NOT WIN32) |
276 | get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME} LOCATION_${CMAKE_BUILD_TYPE}) | 276 | get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME} LOCATION_${CMAKE_BUILD_TYPE}) |
277 | get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME) | 277 | get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME) |
278 | CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_SHARED_LIBRARY_SUFFIX}) | 278 | CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_SHARED_LIBRARY_SUFFIX}) |
279 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_SHARED_LIBRARY_SUFFIX} | 279 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_SHARED_LIBRARY_SUFFIX} |
280 | DESTINATION ${CMAKE_INSTALL_LIBDIR}) | 280 | DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
281 | endif(NOT WIN32) | 281 | endif(NOT WIN32) |
282 | endif(PNG_SHARED) | 282 | endif(PNG_SHARED) |
283 | 283 | ||
284 | if(PNG_STATIC) | 284 | if(PNG_STATIC) |
285 | install(TARGETS ${PNG_LIB_NAME_STATIC} | 285 | install(TARGETS ${PNG_LIB_NAME_STATIC} |
286 | ${PNG_EXPORT_RULE} | 286 | ${PNG_EXPORT_RULE} |
287 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} | 287 | LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
288 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) | 288 | ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
289 | if(NOT WIN32 OR CYGWIN OR MINGW) | 289 | if(NOT WIN32 OR CYGWIN OR MINGW) |
290 | get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME_STATIC} LOCATION_${CMAKE_BUILD_TYPE}) | 290 | get_target_property(BUILD_TARGET_LOCATION ${PNG_LIB_NAME_STATIC} LOCATION_${CMAKE_BUILD_TYPE}) |
291 | get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME) | 291 | get_filename_component(BUILD_TARGET_FILE ${BUILD_TARGET_LOCATION} NAME) |
292 | CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_STATIC_LIBRARY_SUFFIX}) | 292 | CREATE_SYMLINK(${BUILD_TARGET_FILE} libpng${CMAKE_STATIC_LIBRARY_SUFFIX}) |
293 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_STATIC_LIBRARY_SUFFIX} | 293 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng${CMAKE_STATIC_LIBRARY_SUFFIX} |
294 | DESTINATION ${CMAKE_INSTALL_LIBDIR}) | 294 | DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
295 | endif(NOT WIN32 OR CYGWIN OR MINGW) | 295 | endif(NOT WIN32 OR CYGWIN OR MINGW) |
296 | endif() | 296 | endif() |
297 | endif() | 297 | endif() |
298 | 298 | ||
299 | if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) | 299 | if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) |
300 | install(FILES ${libpng_public_hdrs} DESTINATION include) | 300 | install(FILES ${libpng_public_hdrs} DESTINATION include) |
301 | install(FILES ${libpng_public_hdrs} DESTINATION include/${PNGLIB_NAME}) | 301 | install(FILES ${libpng_public_hdrs} DESTINATION include/${PNGLIB_NAME}) |
302 | endif() | 302 | endif() |
303 | if(NOT SKIP_INSTALL_EXECUTABLES AND NOT SKIP_INSTALL_ALL ) | 303 | if(NOT SKIP_INSTALL_EXECUTABLES AND NOT SKIP_INSTALL_ALL ) |
304 | if(NOT WIN32 OR CYGWIN OR MINGW) | 304 | if(NOT WIN32 OR CYGWIN OR MINGW) |
305 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin) | 305 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config DESTINATION bin) |
306 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config | 306 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config |
307 | DESTINATION bin) | 307 | DESTINATION bin) |
308 | endif(NOT WIN32 OR CYGWIN OR MINGW) | 308 | endif(NOT WIN32 OR CYGWIN OR MINGW) |
309 | endif() | 309 | endif() |
310 | 310 | ||
311 | if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) | 311 | if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) |
312 | # Install man pages | 312 | # Install man pages |
313 | if(NOT PNG_MAN_DIR) | 313 | if(NOT PNG_MAN_DIR) |
314 | set(PNG_MAN_DIR "share/man") | 314 | set(PNG_MAN_DIR "share/man") |
315 | endif() | 315 | endif() |
316 | install(FILES libpng.3 libpngpf.3 DESTINATION ${PNG_MAN_DIR}/man3) | 316 | install(FILES libpng.3 libpngpf.3 DESTINATION ${PNG_MAN_DIR}/man3) |
317 | install(FILES png.5 DESTINATION ${PNG_MAN_DIR}/man5) | 317 | install(FILES png.5 DESTINATION ${PNG_MAN_DIR}/man5) |
318 | # Install pkg-config files | 318 | # Install pkg-config files |
319 | if(NOT WIN32 OR CYGWIN OR MINGW) | 319 | if(NOT WIN32 OR CYGWIN OR MINGW) |
320 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc | 320 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libpng.pc |
321 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) | 321 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) |
322 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config | 322 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/libpng-config |
323 | DESTINATION bin) | 323 | DESTINATION bin) |
324 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc | 324 | install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}.pc |
325 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) | 325 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) |
326 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config | 326 | install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${PNGLIB_NAME}-config |
327 | DESTINATION bin) | 327 | DESTINATION bin) |
328 | endif(NOT WIN32 OR CYGWIN OR MINGW) | 328 | endif(NOT WIN32 OR CYGWIN OR MINGW) |
329 | endif() | 329 | endif() |
330 | 330 | ||
331 | # On versions of CMake that support it, create an export file CMake | 331 | # On versions of CMake that support it, create an export file CMake |
332 | # users can include() to import our targets | 332 | # users can include() to import our targets |
333 | if(PNG_EXPORT_RULE AND NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL ) | 333 | if(PNG_EXPORT_RULE AND NOT SKIP_INSTALL_EXPORT AND NOT SKIP_INSTALL_ALL ) |
334 | install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake) | 334 | install(EXPORT libpng DESTINATION lib/libpng FILE lib${PNG_LIB_NAME}.cmake) |
335 | endif() | 335 | endif() |
336 | 336 | ||
337 | # what's with libpng-$VER%.txt and all the extra files? | 337 | # what's with libpng-$VER%.txt and all the extra files? |
338 | 338 | ||
339 | # UNINSTALL | 339 | # UNINSTALL |
340 | # do we need this? | 340 | # do we need this? |
341 | 341 | ||
342 | # DIST | 342 | # DIST |
343 | # do we need this? | 343 | # do we need this? |
344 | 344 | ||
345 | # to create msvc import lib for mingw compiled shared lib | 345 | # to create msvc import lib for mingw compiled shared lib |
346 | # pexports libpng.dll > libpng.def | 346 | # pexports libpng.dll > libpng.def |
347 | # lib /def:libpng.def /machine:x86 | 347 | # lib /def:libpng.def /machine:x86 |
348 | 348 | ||