expose remove_*_batch functions
[hiphop-php.git] / third-party / timelib / timelib-CMakeLists.txt
blobfc0eaff714876890750555a0d7d5dae6c1454415
1 cmake_minimum_required(VERSION 2.6)
2 project(timelib C)
3 include(GNUInstallDirs)
6 find_program(RE2C_EXECUTABLE NAMES re2c REQUIRED)
8 add_custom_command(
9   OUTPUT parse_date.c
10   MAIN_DEPENDENCY parse_date.re
11   COMMAND ${RE2C_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/parse_date.re -o ${CMAKE_CURRENT_BINARY_DIR}/parse_date.c
13 add_custom_command(
14   OUTPUT parse_iso_intervals.c
15   MAIN_DEPENDENCY parse_iso_intervals.re
16   COMMAND ${RE2C_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/parse_iso_intervals.re -o ${CMAKE_CURRENT_BINARY_DIR}/parse_iso_intervals.c
19 file(GLOB files *.c)
20 file(GLOB hfiles *.h)
21 add_library(timelib STATIC ${files} ${hfiles} parse_date.c parse_iso_intervals.c)
23 target_include_directories(timelib PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
24 # adapted from timelibs Makefile FLAGS, removing development flags like USAN,
25 # ASAN, and -Werror
26 target_compile_definitions(timelib PRIVATE -DHAVE_STDINT_H -DHAVE_GETTIMEOFDAY -DHAVE_UNISTD_H -DHAVE_DIRENT_H)
27 option(HAVE_SYSTEM_TZDATA "Use system tzdata" ON)
28 if(HAVE_SYSTEM_TZDATA)
29   target_compile_definitions(timelib PUBLIC -DHAVE_SYSTEM_TZDATA=1)
30 endif()
32 if(HAVE_SYSTEM_TZDATA_PREFIX)
33   target_compile_definitions(timelib PUBLIC "-DHAVE_SYSTEM_TZDATA_PREFIX=\"${HAVE_SYSTEM_TZDATA_PREFIX}\"")
34 endif()
36 install(FILES ${hfiles} DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
37 install(TARGETS timelib ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")