Codechange: [CMake] reduce code duplication

pull/611/head
glx22 9 months ago committed by Loïc Guilloux
parent 7e54418022
commit c77184aa35

@ -1,12 +1,4 @@
# 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)
function(_add_files_tgt tgt)
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
set(PARAM_FILES "${PARAM_UNPARSED_ARGUMENTS}")
@ -21,6 +13,18 @@ function(add_files)
endforeach()
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_test_files([file1 ...] CONDITION condition [condition ...])
@ -30,18 +34,7 @@ endfunction()
# For example: ADD_IF SDL_FOUND AND Allegro_FOUND
#
function(add_test_files)
cmake_parse_arguments(PARAM "" "" "CONDITION" ${ARGN})
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()
_add_files_tgt(openttd_test ${ARGV})
endfunction()
# This function works around an 'issue' with CMake, where

Loading…
Cancel
Save