1 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/icalversion.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/icalversion.h @ONLY)
5 ${CMAKE_BINARY_DIR}/src
6 ${CMAKE_SOURCE_DIR}/src
7 ${CMAKE_SOURCE_DIR}/src/libical
8 ${CMAKE_BINARY_DIR}/src/libical
13 add_definitions(-DBUILD_LIBICALDLL)
17 configure_file(icalerror.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/icalerror.h)
19 set(PACKAGE_DATA_DIR "\\\"${CMAKE_INSTALL_PREFIX}/share/libical\\\"")
20 add_definitions(-DPACKAGE_DATA_DIR="${PACKAGE_DATA_DIR}")
22 set(ICALSCRIPTS ${CMAKE_SOURCE_DIR}/scripts/)
25 ${ICALSCRIPTS}/mkderivedproperties.pl
26 ${CMAKE_SOURCE_DIR}/design-data/properties.csv
27 ${CMAKE_SOURCE_DIR}/design-data/value-types.csv
28 ${CMAKE_SOURCE_DIR}/src/libical/icalderivedproperty.h.in
29 ${CMAKE_SOURCE_DIR}/src/libical/icalderivedproperty.c.in
34 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
36 ${PERL_EXECUTABLE} -I ${ICALSCRIPTS} ${ICALSCRIPTS}/mkderivedproperties.pl
37 -i ${CMAKE_SOURCE_DIR}/src/libical/icalderivedproperty.h.in
38 -h ${CMAKE_SOURCE_DIR}/design-data/properties.csv
39 ${CMAKE_SOURCE_DIR}/design-data/value-types.csv >
40 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
41 DEPENDS ${PROPERTYDEPS}
46 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.c
48 ${PERL_EXECUTABLE} -I${ICALSCRIPTS} ${ICALSCRIPTS}/mkderivedproperties.pl
49 -i ${CMAKE_SOURCE_DIR}/src/libical/icalderivedproperty.c.in
50 -c ${CMAKE_SOURCE_DIR}/design-data/properties.csv
51 ${CMAKE_SOURCE_DIR}/design-data/value-types.csv >
52 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.c
53 DEPENDS ${PROPERTYDEPS} ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
57 ${ICALSCRIPTS}/mkderivedparameters.pl
58 ${CMAKE_SOURCE_DIR}/design-data/parameters.csv
59 ${CMAKE_SOURCE_DIR}/src/libical/icalderivedparameter.c.in
60 ${CMAKE_SOURCE_DIR}/src/libical/icalderivedparameter.h.in
65 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
67 ${PERL_EXECUTABLE} -I ${ICALSCRIPTS} ${ICALSCRIPTS}/mkderivedparameters.pl
68 -i ${CMAKE_SOURCE_DIR}/src/libical/icalderivedparameter.h.in
69 -h ${CMAKE_SOURCE_DIR}/design-data/parameters.csv >
70 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
71 DEPENDS ${PARAMETERDEPS}
76 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.c
78 ${PERL_EXECUTABLE} -I ${ICALSCRIPTS} ${ICALSCRIPTS}/mkderivedparameters.pl
79 -i ${CMAKE_SOURCE_DIR}/src/libical/icalderivedparameter.c.in
80 -c ${CMAKE_SOURCE_DIR}/design-data/parameters.csv >
81 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.c
82 DEPENDS ${PARAMETERDEPS} ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
86 ${ICALSCRIPTS}/mkrestrictiontable.pl
87 ${CMAKE_SOURCE_DIR}/design-data/restrictions.csv
88 ${CMAKE_SOURCE_DIR}/src/libical/icalrestriction.c.in
91 file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/libical/)
94 ${CMAKE_BINARY_DIR}/src/libical/icalrestriction.c
96 ${PERL_EXECUTABLE} -I ${ICALSCRIPTS} ${ICALSCRIPTS}/mkrestrictiontable.pl
97 -i ${CMAKE_SOURCE_DIR}/src/libical/icalrestriction.c.in
98 ${CMAKE_SOURCE_DIR}/design-data/restrictions.csv >
99 ${CMAKE_BINARY_DIR}/src/libical/icalrestriction.c
100 DEPENDS ${RESTRICTIONDEPS}
104 ${ICALSCRIPTS}mkderivedvalues.pl
105 ${CMAKE_SOURCE_DIR}/design-data/value-types.csv
106 ${CMAKE_SOURCE_DIR}/src/libical/icalderivedvalue.c.in
107 ${CMAKE_SOURCE_DIR}/src/libical/icalderivedvalue.h.in
112 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
114 ${PERL_EXECUTABLE} -I${ICALSCRIPTS} ${ICALSCRIPTS}/mkderivedvalues.pl
115 -i ${CMAKE_SOURCE_DIR}/src/libical/icalderivedvalue.h.in
116 -h ${CMAKE_SOURCE_DIR}/design-data/value-types.csv >
117 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
123 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.c
125 ${PERL_EXECUTABLE} -I${ICALSCRIPTS} ${ICALSCRIPTS}/mkderivedvalues.pl
126 -i ${CMAKE_SOURCE_DIR}/src/libical/icalderivedvalue.c.in
127 -c ${CMAKE_SOURCE_DIR}/design-data/value-types.csv >
128 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.c
129 DEPENDS ${VALUEDEPS} ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
133 set(TOPS "\"${CMAKE_SOURCE_DIR}\"")
134 set(TOPB "\"${CMAKE_BINARY_DIR}\"")
136 set(TOPS "${CMAKE_SOURCE_DIR}")
137 set(TOPB "${CMAKE_BINARY_DIR}")
142 ${CMAKE_BINARY_DIR}/src/libical/ical.h
145 -DTOPS:FILEPATH=${TOPS}
146 -DTOPB:FILEPATH=${TOPB}
147 -DICAL_FILE_H_FILE:FILEPATH=${CMAKE_BINARY_DIR}/src/libical/ical.h
148 -P ${CMAKE_CURRENT_SOURCE_DIR}/ical_file.cmake
150 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
151 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
152 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
155 add_custom_target(ical-header DEPENDS
156 ${CMAKE_BINARY_DIR}/src/libical/ical.h
159 macro(_list_prefix _outvar _listvar _prefix)
161 foreach(_item IN LISTS ${_listvar})
162 list(APPEND ${_outvar} ${_prefix}${_item})
164 endmacro(_list_prefix)
166 # GObject Introspection
167 if(HAVE_INTROSPECTION)
168 include(GObjectIntrospectionMacros)
169 set(INTROSPECTION_GIRS)
170 #set(INTROSPECTION_SCANNER_ARGS "--add-include-path=${CMAKE_CURRENT_SOURCE_DIR}")
171 #set(INTROSPECTION_COMPILER_ARGS "--includedir=${CMAKE_CURRENT_SOURCE_DIR}")
173 set(libical_0_48_gir "libical")
174 set(libical_0_48_gir_VERSION "0.48")
175 set(INTROSPECTION_SCANNER_ARGS ${CMAKE_BINARY_DIR}/src/libical/ical.h)
176 set(libical_0_48_gir_LIBRARY "ical")
177 set(libical_0_48_gir_INCLUDES GObject-2.0)
178 get_directory_property(_tmp_includes ical_LIB_SRCS)
179 _list_prefix(_includes _tmp_includes "-L")
180 set(libical_0_48_gir_CFLAGS ${_includes})
181 set(libical_0_48_gir_LIBS ical)
183 list(APPEND INTROSPECTION_GIRS libical-0.48.gir)
185 gir_add_introspections(INTROSPECTION_GIRS)
188 ########### next target ###############
190 set(BUILT_COMBINEDHEADERS
191 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
192 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
193 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
197 ${BUILT_COMBINEDHEADERS}
198 icalderivedparameter.c
199 icalderivedproperty.c
256 list(APPEND ical_LIB_SRCS ../ical.def)
260 add_library(ical ${LIBRARY_TYPE} ${ical_LIB_SRCS})
261 add_library(ical-static STATIC ${ical_LIB_SRCS})
263 add_dependencies(ical ical-header)
265 target_link_libraries(ical ${CMAKE_THREAD_LIBS_INIT})
268 target_link_libraries(ical ${WCECOMPAT_LIBRARIES})
272 set_target_properties(ical PROPERTIES OUTPUT_NAME "libical")
273 set_target_properties(ical-static PROPERTIES OUTPUT_NAME "libical-static")
275 set_target_properties(ical-static PROPERTIES OUTPUT_NAME "ical")
277 set_target_properties(ical PROPERTIES
278 VERSION ${LIBICAL_LIB_VERSION_STRING}
279 SOVERSION ${LIBICAL_LIB_MAJOR_VERSION}
281 set_target_properties(ical PROPERTIES CLEAN_DIRECT_OUTPUT 1)
282 set_target_properties(ical-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
284 install(TARGETS ical ical-static ${INSTALL_TARGETS_DEFAULT_ARGS})
286 ########### install files ###############
288 install(FILES ${CMAKE_SOURCE_DIR}/src/ical.h DESTINATION ${INCLUDE_INSTALL_DIR})
291 ${CMAKE_BINARY_DIR}/src/libical/ical.h
295 ${CMAKE_BINARY_DIR}/src/libical/icalderivedparameter.h
296 ${CMAKE_BINARY_DIR}/src/libical/icalderivedproperty.h
297 ${CMAKE_BINARY_DIR}/src/libical/icalderivedvalue.h
300 ${CMAKE_BINARY_DIR}/src/libical/icalerror.h
318 ${INCLUDE_INSTALL_DIR}/libical