Skip to content

Commit fe7bae0

Browse files
authored
Minor fix to cmakelists to avoid rerunning command each build (KhronosGroup#5620)
1 parent fc42865 commit fe7bae0

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

CMakeLists.txt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,8 @@ set(SPIRV_SHARED_LIBRARIES "-lSPIRV-Tools-shared")
387387

388388
# Build pkg-config file
389389
# Use a first-class target so it's regenerated when relevant files are updated.
390-
add_custom_target(spirv-tools-pkg-config ALL
390+
add_custom_command(
391+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc
391392
COMMAND ${CMAKE_COMMAND}
392393
-DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES
393394
-DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools.pc.in
@@ -397,8 +398,9 @@ add_custom_target(spirv-tools-pkg-config ALL
397398
-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}
398399
-DSPIRV_LIBRARIES=${SPIRV_LIBRARIES}
399400
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake
400-
DEPENDS "CHANGES" "cmake/SPIRV-Tools.pc.in" "cmake/write_pkg_config.cmake")
401-
add_custom_target(spirv-tools-shared-pkg-config ALL
401+
DEPENDS "CHANGES" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools.pc.in" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake")
402+
add_custom_command(
403+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc
402404
COMMAND ${CMAKE_COMMAND}
403405
-DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES
404406
-DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools-shared.pc.in
@@ -408,7 +410,10 @@ add_custom_target(spirv-tools-shared-pkg-config ALL
408410
-DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR}
409411
-DSPIRV_SHARED_LIBRARIES=${SPIRV_SHARED_LIBRARIES}
410412
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake
411-
DEPENDS "CHANGES" "cmake/SPIRV-Tools-shared.pc.in" "cmake/write_pkg_config.cmake")
413+
DEPENDS "CHANGES" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools-shared.pc.in" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake")
414+
add_custom_target(spirv-tools-pkg-config
415+
ALL
416+
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc ${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc)
412417

413418
# Install pkg-config file
414419
if (ENABLE_SPIRV_TOOLS_INSTALL)

0 commit comments

Comments
 (0)