25 lines
1.0 KiB
ReStructuredText
25 lines
1.0 KiB
ReStructuredText
|
aux_source_directory
|
||
|
--------------------
|
||
|
|
||
|
Find all source files in a directory.
|
||
|
|
||
|
::
|
||
|
|
||
|
aux_source_directory(<dir> <variable>)
|
||
|
|
||
|
Collects the names of all the source files in the specified directory
|
||
|
and stores the list in the <variable> provided. This command is
|
||
|
intended to be used by projects that use explicit template
|
||
|
instantiation. Template instantiation files can be stored in a
|
||
|
"Templates" subdirectory and collected automatically using this
|
||
|
command to avoid manually listing all instantiations.
|
||
|
|
||
|
It is tempting to use this command to avoid writing the list of source
|
||
|
files for a library or executable target. While this seems to work,
|
||
|
there is no way for CMake to generate a build system that knows when a
|
||
|
new source file has been added. Normally the generated build system
|
||
|
knows when it needs to rerun CMake because the CMakeLists.txt file is
|
||
|
modified to add a new source. When the source is just added to the
|
||
|
directory without modifying this file, one would have to manually
|
||
|
rerun CMake to generate a build system incorporating the new file.
|