1 cmake_minimum_required(VERSION 2.6)
3 include(GNUInstallDirs)
6 find_program(RE2C_EXECUTABLE NAMES re2c REQUIRED)
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
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
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,
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)
32 if(HAVE_SYSTEM_TZDATA_PREFIX)
33 target_compile_definitions(timelib PUBLIC "-DHAVE_SYSTEM_TZDATA_PREFIX=\"${HAVE_SYSTEM_TZDATA_PREFIX}\"")
36 install(FILES ${hfiles} DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
37 install(TARGETS timelib ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")