Improve QVM tools dependencies
This commit is contained in:
parent
32b12d29f2
commit
8ca7b94f7f
|
|
@ -12,6 +12,9 @@ if(CMAKE_BUILD_TYPE)
|
||||||
set(BUILD_TYPE_ARG -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
|
set(BUILD_TYPE_ARG -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(Q3LCC ${TOOLS_DIR}/$<CONFIG>/q3lcc)
|
||||||
|
set(Q3ASM ${TOOLS_DIR}/$<CONFIG>/q3asm)
|
||||||
|
|
||||||
ExternalProject_Add(qvm_tools
|
ExternalProject_Add(qvm_tools
|
||||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/cmake/tools
|
SOURCE_DIR ${CMAKE_SOURCE_DIR}/cmake/tools
|
||||||
BINARY_DIR ${TOOLS_DIR}
|
BINARY_DIR ${TOOLS_DIR}
|
||||||
|
|
@ -21,11 +24,9 @@ ExternalProject_Add(qvm_tools
|
||||||
-DCMAKE_MINIMUM_REQUIRED_VERSION=${CMAKE_MINIMUM_REQUIRED_VERSION}
|
-DCMAKE_MINIMUM_REQUIRED_VERSION=${CMAKE_MINIMUM_REQUIRED_VERSION}
|
||||||
${BUILD_TYPE_ARG}
|
${BUILD_TYPE_ARG}
|
||||||
BUILD_ALWAYS TRUE
|
BUILD_ALWAYS TRUE
|
||||||
|
BUILD_BYPRODUCTS ${Q3LCC} ${Q3ASM}
|
||||||
INSTALL_COMMAND "")
|
INSTALL_COMMAND "")
|
||||||
|
|
||||||
set(Q3LCC ${TOOLS_DIR}/$<CONFIG>/q3lcc)
|
|
||||||
set(Q3ASM ${TOOLS_DIR}/$<CONFIG>/q3asm)
|
|
||||||
|
|
||||||
function(add_qvm MODULE_NAME)
|
function(add_qvm MODULE_NAME)
|
||||||
list(REMOVE_AT ARGV 0)
|
list(REMOVE_AT ARGV 0)
|
||||||
cmake_parse_arguments(ARG "" "" "DEFINITIONS;OUTPUT_NAME;OUTPUT_DIRECTORY;SOURCES" ${ARGV})
|
cmake_parse_arguments(ARG "" "" "DEFINITIONS;OUTPUT_NAME;OUTPUT_DIRECTORY;SOURCES" ${ARGV})
|
||||||
|
|
@ -66,7 +67,7 @@ function(add_qvm MODULE_NAME)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${ASM_FILE}
|
OUTPUT ${ASM_FILE}
|
||||||
COMMAND ${Q3LCC} ${LCC_FLAGS} -o ${ASM_FILE} ${SOURCE}
|
COMMAND ${Q3LCC} ${LCC_FLAGS} -o ${ASM_FILE} ${SOURCE}
|
||||||
DEPENDS ${SOURCE} qvm_tools
|
DEPENDS ${SOURCE} qvm_tools ${Q3LCC}
|
||||||
COMMENT "Building C object ${ASM_FILE_COMMENT}")
|
COMMENT "Building C object ${ASM_FILE_COMMENT}")
|
||||||
|
|
||||||
list(APPEND ASM_FILES ${ASM_FILE})
|
list(APPEND ASM_FILES ${ASM_FILE})
|
||||||
|
|
@ -76,7 +77,7 @@ function(add_qvm MODULE_NAME)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${QVM_FILE}
|
OUTPUT ${QVM_FILE}
|
||||||
COMMAND ${Q3ASM} -o ${QVM_FILE} ${ASM_FILES}
|
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}")
|
COMMENT "Linking C QVM library ${QVM_FILE_COMMENT}")
|
||||||
|
|
||||||
string(REGEX REPLACE "[^A-Za-z0-9]" "_" TARGET_NAME ${MODULE_NAME})
|
string(REGEX REPLACE "[^A-Za-z0-9]" "_" TARGET_NAME ${MODULE_NAME})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user