34 lines
750 B
CMake
34 lines
750 B
CMake
#
|
|
# 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()
|