Imported Upstream version 0.10.1
[platform/upstream/libzip.git] / lib / CMakeLists.txt
1 INCLUDE(CheckFunctionExists)
2
3 INSTALL(FILES zip.h DESTINATION include)
4
5 # from http://www.cmake.org/Wiki/CMakeMacroLibtoolFile
6 MACRO(GET_TARGET_PROPERTY_WITH_DEFAULT _variable _target _property _default_value)
7   
8   GET_TARGET_PROPERTY (${_variable} ${_target} ${_property})
9   IF (${_variable} STREQUAL NOTFOUND)
10     SET (${_variable} ${_default_value})
11   ENDIF (${_variable} STREQUAL NOTFOUND)
12   
13 ENDMACRO (GET_TARGET_PROPERTY_WITH_DEFAULT)
14   
15 MACRO(CREATE_LIBTOOL_FILE _target _install_DIR)
16   GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
17   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_static_lib ${_target} STATIC_LIB "")
18   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dependency_libs ${_target} LT_DEPENDENCY_LIBS "")
19   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_current ${_target} LT_VERSION_CURRENT 0)
20   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_age ${_target} LT_VERSION_AGE 0)
21   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_revision ${_target} LT_VERSION_REVISION 0)
22   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_installed ${_target} LT_INSTALLED yes)
23   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_shouldnotlink ${_target} LT_SHOULDNOTLINK yes)
24   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlopen ${_target} LT_DLOPEN "")
25   GET_TARGET_PROPERTY_WITH_DEFAULT(_target_dlpreopen ${_target} LT_DLPREOPEN "")
26   GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE)
27   GET_FILENAME_COMPONENT(_soname ${_target_location} NAME)
28   SET(_laname ${_laname}.la)
29   FILE(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n")
30   FILE(APPEND ${_laname} "# The name that we can dlopen(3).\n")
31   FILE(APPEND ${_laname} "dlname='${_soname}'\n")
32   FILE(APPEND ${_laname} "# Names of this library\n")
33   FILE(APPEND ${_laname} "library_names='${_soname}.${_target_current}.${_target_age}.${_target_revision} ${_soname}.${_target_current} ${_soname}'\n")
34   FILE(APPEND ${_laname} "# The name of the static archive\n")
35   FILE(APPEND ${_laname} "old_library='${_target_static_lib}'\n")
36   FILE(APPEND ${_laname} "# Libraries that this one depends upon.\n")
37   FILE(APPEND ${_laname} "dependency_libs='${_target_dependency_libs}'\n")
38   FILE(APPEND ${_laname} "# Version information.\n")
39   FILE(APPEND ${_laname} "current=${_target_current}\n")
40   FILE(APPEND ${_laname} "age=${_target_age}\n")
41   FILE(APPEND ${_laname} "revision=${_target_revision}\n")
42   FILE(APPEND ${_laname} "# Is this an already installed library?\n")
43   FILE(APPEND ${_laname} "installed=${_target_installed}\n")
44   FILE(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\n")
45   FILE(APPEND ${_laname} "shouldnotlink=${_target_shouldnotlink}\n")
46   FILE(APPEND ${_laname} "# Files to dlopen/dlpreopen\n")
47   FILE(APPEND ${_laname} "dlopen='${_target_dlopen}'\n")
48   FILE(APPEND ${_laname} "dlpreopen='${_target_dlpreopen}'\n")
49   FILE(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
50   FILE(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/${_install_DIR}'\n")
51   INSTALL( FILES ${_laname} ${_soname}
52     DESTINATION ${CMAKE_INSTALL_PREFIX}${_install_DIR})
53 ENDMACRO(CREATE_LIBTOOL_FILE)
54  
55 SET(LIBZIP_SOURCES
56   zip_add.c
57   zip_add_dir.c
58   zip_close.c
59   zip_delete.c
60   zip_dirent.c
61   zip_entry_free.c
62   zip_entry_new.c
63   zip_err_str.c
64   zip_error.c
65   zip_error_clear.c
66   zip_error_get.c
67   zip_error_get_sys_type.c
68   zip_error_strerror.c
69   zip_error_to_str.c
70   zip_fclose.c
71   zip_fdopen.c
72   zip_file_error_clear.c
73   zip_file_error_get.c
74   zip_file_get_offset.c
75   zip_file_strerror.c
76   zip_filerange_crc.c
77   zip_fopen.c
78   zip_fopen_encrypted.c
79   zip_fopen_index.c
80   zip_fopen_index_encrypted.c
81   zip_fread.c
82   zip_free.c
83   zip_get_archive_comment.c
84   zip_get_archive_flag.c
85   zip_get_compression_implementation.c
86   zip_get_encryption_implementation.c
87   zip_get_file_comment.c
88   zip_get_file_extra.c
89   zip_get_name.c
90   zip_get_num_files.c
91   zip_memdup.c
92   zip_name_locate.c
93   zip_new.c
94   zip_open.c
95   zip_rename.c
96   zip_replace.c
97   zip_set_archive_comment.c
98   zip_set_archive_flag.c
99   zip_set_default_password.c
100   zip_set_file_comment.c
101   zip_set_file_extra.c
102   zip_set_name.c
103   zip_source_buffer.c
104   zip_source_close.c
105   zip_source_crc.c
106   zip_source_deflate.c
107   zip_source_error.c
108   zip_source_file.c
109   zip_source_filep.c
110   zip_source_free.c
111   zip_source_function.c
112   zip_source_layered.c
113   zip_source_open.c
114   zip_source_pkware.c
115   zip_source_pop.c
116   zip_source_read.c
117   zip_source_stat.c
118   zip_source_zip.c
119   zip_stat.c
120   zip_stat_index.c
121   zip_stat_init.c
122   zip_strerror.c
123   zip_unchange.c
124   zip_unchange_all.c
125   zip_unchange_archive.c
126   zip_unchange_data.c
127 )
128
129 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}
130   ${CMAKE_CURRENT_BINARY_DIR}/..)
131
132 # XXX: distribute instead?
133 #ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zip_err_str.c
134 #  COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/make_zip_err_str.sh
135 #    ${CMAKE_CURRENT_SOURCE_DIR}/zip.h
136 #    ${CMAKE_CURRENT_BINARY_DIR}/zip_err_str.c
137 #  DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/zip.h
138 #    ${CMAKE_CURRENT_SOURCE_DIR}/make_zip_err_str.sh
139 #)
140 CHECK_FUNCTION_EXISTS(mkstemp HAVE_MKSTEMP)
141 IF(NOT HAVE_MKSTEMP)
142   SET(LIBZIP_EXTRA_FILES mkstemp.c)
143 ENDIF(NOT HAVE_MKSTEMP)
144
145 ADD_LIBRARY(zip SHARED ${LIBZIP_SOURCES} ${LIBZIP_EXTRA_FILES})
146 SET_TARGET_PROPERTIES(zip PROPERTIES VERSION 3.0 SOVERSION 3 )
147 TARGET_LINK_LIBRARIES(zip ${ZLIB_LIBRARY})
148 INSTALL(TARGETS zip
149         ARCHIVE DESTINATION lib
150         LIBRARY DESTINATION lib)
151 #CREATE_LIBTOOL_FILE(zip lib)