ecbuild_add_executable¶
Add an executable with a given list of source files.
ecbuild_add_executable( TARGET <name>
SOURCES <source1> [<source2> ...]
[ SOURCES_GLOB <glob1> [<glob2> ...] ]
[ SOURCES_EXCLUDE_REGEX <regex1> [<regex2> ...] ]
[ OBJECTS <obj1> [<obj2> ...] ]
[ TEMPLATES <template1> [<template2> ...] ]
[ LIBS <library1> [<library2> ...] ]
[ INCLUDES <path1> [<path2> ...] ]
[ DEFINITIONS <definition1> [<definition2> ...] ]
[ PERSISTENT <file1> [<file2> ...] ]
[ GENERATED <file1> [<file2> ...] ]
[ DEPENDS <target1> [<target2> ...] ]
[ CONDITION <condition> ]
[ PROPERTIES <prop1> <val1> [<prop2> <val2> ...] ]
[ NOINSTALL ]
[ VERSION <version> | AUTO_VERSION ]
[ CFLAGS <flag1> [<flag2> ...] ]
[ CXXFLAGS <flag1> [<flag2> ...] ]
[ FFLAGS <flag1> [<flag2> ...] ]
[ LINKER_LANGUAGE <lang> ]
[ OUTPUT_NAME <name> ] )
Options¶
- TARGET : required
- target name
- SOURCES : required
- list of source files
- SOURCES_GLOB : optional
- search pattern to find source files to compile (note: not recommend according to CMake guidelines) it is usually better to explicitly list the source files in the CMakeList.txt
- SOURCES_EXCLUDE_REGEX : optional
- search pattern to exclude source files from compilation, applies o the results of SOURCES_GLOB
- OBJECTS : optional
- list of object libraries to add to this target
- TEMPLATES : optional
- list of files specified as SOURCES which are not to be compiled separately (these are commonly template implementation files included in a header)
- LIBS : optional
- list of libraries to link against (CMake targets or external libraries)
- INCLUDES : optional
- list of paths to add to include directories
- DEFINITIONS : optional
- list of definitions to add to preprocessor defines
- PERSISTENT : optional
- list of persistent layer object files
- GENERATED : optional
- list of files to mark as generated (sets GENERATED source file property)
- DEPENDS : optional
- list of targets to be built before this target
- CONDITION : optional
- conditional expression which must evaluate to true for this target to be
built (must be valid in a CMake
ifstatement) - PROPERTIES : optional
- custom properties to set on the target
- NOINSTALL : optional
- do not install the executable
- VERSION : optional, AUTO_VERSION or LIBS_VERSION is used if not specified
- version to use as executable version
- AUTO_VERSION : optional, ignored if VERSION is specified
- automatically version the executable with the package version
- CFLAGS : optional
- list of C compiler flags to use for all C source files
- CXXFLAGS : optional
- list of C++ compiler flags to use for all C++ source files
- FFLAGS : optional
- list of Fortran compiler flags to use for all Fortran source files
- LINKER_LANGUAGE : optional
- sets the LINKER_LANGUAGE property on the target
- OUTPUT_NAME : optional
- sets the OUTPUT_NAME property on the target