cmake: Fix dependencies

Now the files won't be built repeatedly each time it's called.
This commit is contained in:
lat9nq 2023-06-16 03:34:40 -04:00
parent 0b28ddb5a6
commit 38c6fddfc3

View File

@ -41,12 +41,16 @@ add_custom_target(x80e
${NX_VERSION_FILE}) ${NX_VERSION_FILE})
set(BINARY_LIST_TXT ${NX_TZDB_DIR}/binaryList.txt) set(BINARY_LIST_TXT ${NX_TZDB_DIR}/binaryList.txt)
add_custom_target(binary_list add_custom_command(
bash ${CMAKE_CURRENT_SOURCE_DIR}/generate_binary_list_txt.sh ${BINARY_LIST_TXT} OUTPUT
BYPRODUCTS
${BINARY_LIST_TXT} ${BINARY_LIST_TXT}
COMMAND
bash ${CMAKE_CURRENT_SOURCE_DIR}/generate_binary_list_txt.sh ${BINARY_LIST_TXT}
WORKING_DIRECTORY WORKING_DIRECTORY
${NX_ZONEINFO_DIR}) ${NX_ZONEINFO_DIR})
add_custom_target(binary_list
DEPENDS ${BINARY_LIST_TXT})
add_dependencies(x80e binary_list) add_dependencies(x80e binary_list)
file(STRINGS "${TZIF_LIST_FILE}" TZ_FILES) file(STRINGS "${TZIF_LIST_FILE}" TZ_FILES)
@ -54,9 +58,10 @@ foreach(FILE ${TZ_FILES})
file(RELATIVE_PATH TARG "${TZ_ZONEINFO_DIR}" "${FILE}") file(RELATIVE_PATH TARG "${TZ_ZONEINFO_DIR}" "${FILE}")
get_filename_component(TARG_PATH "${NX_ZONEINFO_DIR}/${TARG}" DIRECTORY) get_filename_component(TARG_PATH "${NX_ZONEINFO_DIR}/${TARG}" DIRECTORY)
string(REGEX REPLACE "\/" "_" TARG_SANITIZED "${TARG}") string(REGEX REPLACE "\/" "_" TARG_SANITIZED "${TARG}")
add_custom_target(${TARG_SANITIZED} set(NX_TZ_TARGET ${NX_ZONEINFO_DIR}/${TARG})
BYPRODUCTS add_custom_command(
${NX_ZONEINFO_DIR}/${TARG} OUTPUT
${NX_TZ_TARGET}
COMMAND COMMAND
mkdir -p ${TARG_PATH} mkdir -p ${TARG_PATH}
COMMAND COMMAND
@ -64,6 +69,9 @@ foreach(FILE ${TZ_FILES})
DEPENDS DEPENDS
tzdb2nx) tzdb2nx)
add_custom_target(${TARG_SANITIZED}
DEPENDS ${NX_TZ_TARGET})
add_dependencies(x80e ${TARG_SANITIZED}) add_dependencies(x80e ${TARG_SANITIZED})
add_dependencies(binary_list ${TARG_SANITIZED}) add_dependencies(binary_list ${TARG_SANITIZED})
endforeach() endforeach()