diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt index 390be0f06..4ac410fc0 100644 --- a/qrenderdoc/CMakeLists.txt +++ b/qrenderdoc/CMakeLists.txt @@ -1,7 +1,10 @@ set(output_dir ${CMAKE_BINARY_DIR}/bin) -include(ExternalProject) -ExternalProject_Add(qrenderdoc - DEPENDS renderdoc - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} - CONFIGURE_COMMAND qmake "CONFIG+=debug" "DESTDIR=${output_dir}" ${CMAKE_CURRENT_SOURCE_DIR}) +# The case here is deliberately not matching the executable name +# This means the custom command doesn't create this output file, +# which causes CMake to rerun this target every time so that Qt +# can do dependency checking and rebuild anything necessary. +add_custom_command(OUTPUT QRenderDoc + COMMAND qmake "CONFIG+=debug" "DESTDIR=${output_dir}" ${CMAKE_CURRENT_SOURCE_DIR} + COMMAND MAKEFLAGS= make --no-print-directory) +add_custom_target(build-qrenderdoc ALL DEPENDS QRenderDoc)