diff --git a/cmake/utils/qvm_tools.cmake b/cmake/utils/qvm_tools.cmake index 8765dfc7..a5ba3f93 100644 --- a/cmake/utils/qvm_tools.cmake +++ b/cmake/utils/qvm_tools.cmake @@ -12,6 +12,9 @@ if(CMAKE_BUILD_TYPE) set(BUILD_TYPE_ARG -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}) endif() +set(Q3LCC ${TOOLS_DIR}/$/q3lcc) +set(Q3ASM ${TOOLS_DIR}/$/q3asm) + ExternalProject_Add(qvm_tools SOURCE_DIR ${CMAKE_SOURCE_DIR}/cmake/tools BINARY_DIR ${TOOLS_DIR} @@ -21,11 +24,9 @@ ExternalProject_Add(qvm_tools -DCMAKE_MINIMUM_REQUIRED_VERSION=${CMAKE_MINIMUM_REQUIRED_VERSION} ${BUILD_TYPE_ARG} BUILD_ALWAYS TRUE + BUILD_BYPRODUCTS ${Q3LCC} ${Q3ASM} INSTALL_COMMAND "") -set(Q3LCC ${TOOLS_DIR}/$/q3lcc) -set(Q3ASM ${TOOLS_DIR}/$/q3asm) - function(add_qvm MODULE_NAME) list(REMOVE_AT ARGV 0) cmake_parse_arguments(ARG "" "" "DEFINITIONS;OUTPUT_NAME;OUTPUT_DIRECTORY;SOURCES" ${ARGV}) @@ -66,7 +67,7 @@ function(add_qvm MODULE_NAME) add_custom_command( OUTPUT ${ASM_FILE} COMMAND ${Q3LCC} ${LCC_FLAGS} -o ${ASM_FILE} ${SOURCE} - DEPENDS ${SOURCE} qvm_tools + DEPENDS ${SOURCE} qvm_tools ${Q3LCC} COMMENT "Building C object ${ASM_FILE_COMMENT}") list(APPEND ASM_FILES ${ASM_FILE}) @@ -76,7 +77,7 @@ function(add_qvm MODULE_NAME) add_custom_command( OUTPUT ${QVM_FILE} COMMAND ${Q3ASM} -o ${QVM_FILE} ${ASM_FILES} - DEPENDS ${ASM_FILES} qvm_tools + DEPENDS ${ASM_FILES} qvm_tools ${Q3ASM} COMMENT "Linking C QVM library ${QVM_FILE_COMMENT}") string(REGEX REPLACE "[^A-Za-z0-9]" "_" TARGET_NAME ${MODULE_NAME})