mirror of https://github.com/OpenTTD/OpenTTD
Codechange: [CMake] reduce code duplication
parent
7e54418022
commit
c77184aa35
|
@ -1,12 +1,4 @@
|
||||||
# Add a file to be compiled.
|
function(_add_files_tgt tgt)
|
||||||
#
|
|
||||||
# add_files([file1 ...] CONDITION condition [condition ...])
|
|
||||||
#
|
|
||||||
# CONDITION is a complete statement that can be evaluated with if().
|
|
||||||
# If it evaluates true, the source files will be added; otherwise not.
|
|
||||||
# For example: ADD_IF SDL_FOUND AND Allegro_FOUND
|
|
||||||
#
|
|
||||||
function(add_files)
|
|
||||||
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
|
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
|
||||||
set(PARAM_FILES "${PARAM_UNPARSED_ARGUMENTS}")
|
set(PARAM_FILES "${PARAM_UNPARSED_ARGUMENTS}")
|
||||||
|
|
||||||
|
@ -21,6 +13,18 @@ function(add_files)
|
||||||
endforeach()
|
endforeach()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
# Add a file to be compiled.
|
||||||
|
#
|
||||||
|
# add_files([file1 ...] CONDITION condition [condition ...])
|
||||||
|
#
|
||||||
|
# CONDITION is a complete statement that can be evaluated with if().
|
||||||
|
# If it evaluates true, the source files will be added; otherwise not.
|
||||||
|
# For example: ADD_IF SDL_FOUND AND Allegro_FOUND
|
||||||
|
#
|
||||||
|
function(add_files)
|
||||||
|
_add_files_tgt(openttd_lib ${ARGV})
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# Add a test file to be compiled.
|
# Add a test file to be compiled.
|
||||||
#
|
#
|
||||||
# add_test_files([file1 ...] CONDITION condition [condition ...])
|
# add_test_files([file1 ...] CONDITION condition [condition ...])
|
||||||
|
@ -30,18 +34,7 @@ endfunction()
|
||||||
# For example: ADD_IF SDL_FOUND AND Allegro_FOUND
|
# For example: ADD_IF SDL_FOUND AND Allegro_FOUND
|
||||||
#
|
#
|
||||||
function(add_test_files)
|
function(add_test_files)
|
||||||
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
|
_add_files_tgt(openttd_test ${ARGV})
|
||||||
set(PARAM_FILES "${PARAM_UNPARSED_ARGUMENTS}")
|
|
||||||
|
|
||||||
if(PARAM_CONDITION)
|
|
||||||
if(NOT (${PARAM_CONDITION}))
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
foreach(FILE IN LISTS PARAM_FILES)
|
|
||||||
target_sources(openttd_test PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
|
|
||||||
endforeach()
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
# This function works around an 'issue' with CMake, where
|
# This function works around an 'issue' with CMake, where
|
||||||
|
|
Loading…
Reference in New Issue