aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorfuzzard <fuzzard@kodi.tv>2023-09-26 10:34:47 +1000
committerfuzzard <fuzzard@kodi.tv>2023-09-26 10:35:36 +1000
commit8cbd67856f099282dd57c30214df411ea39c5292 (patch)
treeba5dd387108780eaa7f815608087cf09cb91c6e5 /CMakeLists.txt
parentbddd6960f0588c74986c2a22d3fa6db2be182e4e (diff)
[cmake] add_custom_command only use OUTPUT genex for multi config generators
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
1 files changed, 11 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3aa86e4cbb..8eb81cbd8f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -433,20 +433,27 @@ add_custom_target(gen_system_addons
-P ${CMAKE_SOURCE_DIR}/cmake/scripts/common/GenerateSystemAddons.cmake
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+if(_multiconfig_generator)
+ # Generator expressions in add_custom_command(OUTPUT) are only available in cmake 3.20+
+ # we dont really need config aware locations for a single config generator, so we only
+ # set this for multi config generators who all use newer cmake
+ set(CONFIG_VAR $<CONFIG>)
+endif()
+
# Pack skins and copy to correct build dir (MultiConfig Generator aware)
add_custom_command(
- OUTPUT ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/$<CONFIG>/gen_skin.timestamp
+ OUTPUT ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp
COMMAND ${CMAKE_COMMAND} -DBUNDLEDIR=${_bundle_dir}
-DTEXTUREPACKER_EXECUTABLE=$<TARGET_FILE:TexturePacker::TexturePacker::Executable>
-P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/GeneratedPackSkins.cmake
- COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/$<CONFIG>
- COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/$<CONFIG>/gen_skin.timestamp
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}
+ COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp
DEPENDS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/GeneratedPackSkins.cmake
${XBT_SOURCE_FILELIST}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Generating skin xbt"
)
-add_custom_target(gen_skin_pack DEPENDS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/$<CONFIG>/gen_skin.timestamp)
+add_custom_target(gen_skin_pack DEPENDS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${CONFIG_VAR}/gen_skin.timestamp)
# Packaging target. This generates system addon, xbt creation, copy files to build tree
add_custom_target(generate-packaging ALL