# # Defines a list of files with a given name, prepends the relative path to the # source dir to each file if available and passes the list to PARENT_SCOPE. # # Usage: # add_files( # NAME_OF_FILES # file1.cpp # file2.cpp # ... # ) # macro(add_files var_name) if(DEFINED SRC_DIR) file (RELATIVE_PATH _relPath "${SRC_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") else() file (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}") endif() foreach (_src ${ARGN}) if (_relPath) list (APPEND ${var_name} "${_relPath}/${_src}") else() list (APPEND ${var_name} "${_src}") endif() endforeach() if (_relPath) set(${var_name} ${${var_name}} PARENT_SCOPE) else() set(${var_name} ${${var_name}}) endif() endmacro()