CMake Lists - Jeremi Mucha
https://jeremimucha.com/2021/03/cmake-lists15.03.2021 · CMake takes a different approach. A concrete definition could be formulated as follows: A CMake list is a semicolon-separated sequence of elements. And since everything in CMake is a string, this means that a list is a semicolon-separated sequence of strings, making itself a string. Because who needs a type system, right?
list — CMake 3.23.0-rc4 Documentation
cmake.org › cmake › helpA list in cmake is a ; separated group of strings. To create a list the set command can be used. For example, set (var a b c d e) creates a list with a;b;c;d;e, and set (var "a b c d e") creates a string or a list with one item in it. (Note macro arguments are not variables, and therefore cannot be used in LIST commands.)
list — CMake 3.23.0-rc4 Documentation
https://cmake.org/cmake/help/latest/command/list.htmlIntroduction ¶. The list subcommands APPEND, INSERT, FILTER, PREPEND , POP_BACK, POP_FRONT, REMOVE_AT, REMOVE_ITEM , REMOVE_DUPLICATES, REVERSE and SORT may create new values for the list within the current CMake variable scope. Similar to the set () command, the LIST command creates new variable values in the current scope, even if the list ...
[CMake] How to append a string on list inside a function
cmake.org › pipermail › cmakeSep 27, 2018 · A function creates a new scopeand inherit a copy of all variables defined in the upper scope. So, by adding a set command using PARENT_SCOPE in your function you canupdate the variable in the parent scope: function(addTest targetName) # create the executable with all the souces add_executable(${targetName} ${ARGN}) list(APPEND allTestsList ${targetName}) *set (allTestsList ${allTestsList} PARENT_SCOPE) * ...