Mercurial > embed
annotate libzip/CMakeLists.txt @ 44:82f724456f5d
misc: add license
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 04 Jan 2017 20:49:14 +0100 |
parents | 3b18afe43c9d |
children | 056ee6b5913e |
rev | line source |
---|---|
20
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 PROJECT(libzip C) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 INCLUDE(CheckFunctionExists) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 INCLUDE(CheckIncludeFiles) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 INCLUDE(CheckSymbolExists) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 INCLUDE(CheckTypeSize) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 INCLUDE(CheckCSourceRuns) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 INCLUDE(CheckCSourceCompiles) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 INCLUDE(CheckStructHasMember) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 SET(PACKAGE "libzip") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 SET(PACKAGE_NAME ${PACKAGE}) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 SET(PACKAGE_VERSION_MAJOR "1") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 SET(PACKAGE_VERSION_MINOR "1") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 SET(PACKAGE_VERSION_PATCH "3") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 SET(VERSION "${PACKAGE_VERSION_MAJOR}.${PACKAGE_VERSION_MINOR}.${PACKAGE_VERSION_PATCH}") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 SET(PACKAGE_VERSION ${VERSION}) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 SET(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 # Checks |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 CHECK_FUNCTION_EXISTS(_close HAVE__CLOSE) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 CHECK_FUNCTION_EXISTS(_dup HAVE__DUP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 CHECK_FUNCTION_EXISTS(_fdopen HAVE__FDOPEN) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 CHECK_FUNCTION_EXISTS(_fileno HAVE__FILENO) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 CHECK_FUNCTION_EXISTS(_open HAVE__OPEN) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 CHECK_FUNCTION_EXISTS(_setmode HAVE__SETMODE) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 CHECK_FUNCTION_EXISTS(_snprintf HAVE__SNPRINTF) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 CHECK_FUNCTION_EXISTS(_strdup HAVE__STRDUP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 CHECK_FUNCTION_EXISTS(_stricmp HAVE__STRICMP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 CHECK_FUNCTION_EXISTS(fileno HAVE_FILENO) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 CHECK_FUNCTION_EXISTS(fseeko HAVE_FSEEKO) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 CHECK_FUNCTION_EXISTS(ftello HAVE_FTELLO) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 CHECK_FUNCTION_EXISTS(getprogname HAVE_GETPROGNAME) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 CHECK_FUNCTION_EXISTS(open HAVE_OPEN) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 CHECK_FUNCTION_EXISTS(setmode HAVE_SETMODE) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 CHECK_FUNCTION_EXISTS(snprintf HAVE_SNPRINTF) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 CHECK_FUNCTION_EXISTS(strdup HAVE_STRDUP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 CHECK_FUNCTION_EXISTS(stricmp HAVE_STRICMP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 CHECK_INCLUDE_FILES(fts.h HAVE_FTS_H) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 CHECK_INCLUDE_FILES(stdbool.h HAVE_STDBOOL_H) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 CHECK_INCLUDE_FILES(strings.h HAVE_STRINGS_H) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 CHECK_TYPE_SIZE(__int8 __INT8_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 CHECK_TYPE_SIZE(int8_t INT8_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 CHECK_TYPE_SIZE(uint8_t UINT8_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 CHECK_TYPE_SIZE(__int16 __INT16_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 CHECK_TYPE_SIZE(int16_t INT16_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 CHECK_TYPE_SIZE(uint16_t UINT16_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 CHECK_TYPE_SIZE(__int32 __INT32_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 CHECK_TYPE_SIZE(int32_t INT32_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 CHECK_TYPE_SIZE(uint32_t UINT32_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 CHECK_TYPE_SIZE(__int64 __INT64_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 CHECK_TYPE_SIZE(int64_t INT64_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 CHECK_TYPE_SIZE(uint64_t UINT64_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 CHECK_TYPE_SIZE("short" SHORT_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 CHECK_TYPE_SIZE("int" INT_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 CHECK_TYPE_SIZE("long" LONG_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 CHECK_TYPE_SIZE("long long" LONG_LONG_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 CHECK_TYPE_SIZE("off_t" SIZEOF_OFF_T) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 CHECK_TYPE_SIZE("size_t" SIZE_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 CHECK_TYPE_SIZE("ssize_t" SSIZE_T_LIBZIP) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 FIND_PACKAGE(ZLIB REQUIRED) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 set(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR}) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 IF(ZLIB_VERSION_STRING VERSION_LESS "1.1.2") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 MESSAGE(FATAL_ERROR "-- ZLIB version too old, please install at least v1.1.2") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 ENDIF(ZLIB_VERSION_STRING VERSION_LESS "1.1.2") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 IF(MSVC) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 ADD_DEFINITIONS("-D_CRT_SECURE_NO_WARNINGS") |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 ENDIF(MSVC) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 # Targets |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 ADD_SUBDIRECTORY(lib) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 # write out config file |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-config.h.in |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 ${CMAKE_CURRENT_BINARY_DIR}/config.h) |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake-zipconf.h.in |
3b18afe43c9d
libzip: reimport version 1.1.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 ${CMAKE_CURRENT_BINARY_DIR}/zipconf.h) |