diff --git a/src/tzdb/CMakeLists.txt b/src/tzdb/CMakeLists.txt index 1b63da2..2be93dc 100644 --- a/src/tzdb/CMakeLists.txt +++ b/src/tzdb/CMakeLists.txt @@ -34,29 +34,35 @@ execute_process( set(NX_VERSION_FILE ${NX_TZDB_DIR}/version.txt) file(WRITE ${NX_VERSION_FILE} "${TZDB_VERSION}") -add_custom_target(x80e - ALL +add_custom_target(x80e DEPENDS tzdb2nx ${NX_VERSION_FILE}) set(BINARY_LIST_TXT ${NX_TZDB_DIR}/binaryList.txt) -add_custom_target(binary_list - bash ${CMAKE_CURRENT_SOURCE_DIR}/generate_binary_list_txt.sh ${BINARY_LIST_TXT} - BYPRODUCTS +add_custom_command( + OUTPUT ${BINARY_LIST_TXT} + COMMAND + bash ${CMAKE_CURRENT_SOURCE_DIR}/generate_binary_list_txt.sh ${BINARY_LIST_TXT} WORKING_DIRECTORY ${NX_ZONEINFO_DIR}) -add_dependencies(x80e binary_list) + +add_custom_target(time_zone_binary_list + DEPENDS ${BINARY_LIST_TXT}) +add_dependencies(x80e time_zone_binary_list) + +set(TZ_DATA_LIST "") file(STRINGS "${TZIF_LIST_FILE}" TZ_FILES) foreach(FILE ${TZ_FILES}) file(RELATIVE_PATH TARG "${TZ_ZONEINFO_DIR}" "${FILE}") get_filename_component(TARG_PATH "${NX_ZONEINFO_DIR}/${TARG}" DIRECTORY) string(REGEX REPLACE "\/" "_" TARG_SANITIZED "${TARG}") - add_custom_target(${TARG_SANITIZED} - BYPRODUCTS - ${NX_ZONEINFO_DIR}/${TARG} + set(NX_TZ_TARGET ${NX_ZONEINFO_DIR}/${TARG}) + add_custom_command( + OUTPUT + ${NX_TZ_TARGET} COMMAND mkdir -p ${TARG_PATH} COMMAND @@ -64,6 +70,11 @@ foreach(FILE ${TZ_FILES}) DEPENDS tzdb2nx) - add_dependencies(x80e ${TARG_SANITIZED}) - add_dependencies(binary_list ${TARG_SANITIZED}) + list(APPEND TZ_DATA_LIST ${NX_TZ_TARGET}) endforeach() + +add_custom_target(time_zone_data + DEPENDS ${TZ_DATA_LIST}) + +add_dependencies(x80e time_zone_data) +add_dependencies(time_zone_binary_list time_zone_data) diff --git a/src/tzdb2nx/CMakeLists.txt b/src/tzdb2nx/CMakeLists.txt index ae5d614..e3622ef 100644 --- a/src/tzdb2nx/CMakeLists.txt +++ b/src/tzdb2nx/CMakeLists.txt @@ -3,5 +3,4 @@ add_executable(tzdb2nx tzif.cpp tzif.h) -set(TZDB2NX_PATH "${CMAKE_CURRENT_BINARY_DIR}/tzdb2nx" CACHE PATH "Path to tzdb2nx path") -set_target_properties(tzdb2nx PROPERTIES CMAKE_RUNTIME_OUTPUT_DIRECTORY ${TZDB2NX_PATH}) +set(TZDB2NX_PATH "$" CACHE PATH "Path to tzdb2nx path")