Я рассматриваю переключение кросс-платформенного проекта от отдельных систем управления сборками в Visual C++, XCode и make-файлах к CMake.
Одна существенная особенность, в которой я нуждаюсь, должна добавить автоматически все файлы в каталоге к цели. В то время как с этим легко сделать, делают, это не легко выполнимо с Visual C++, и XCode (исправьте меня, если я неправ). Действительно ли возможно выполнить в нем непосредственно в CMake? Как?
Это возможно. Например, с file(GLOB
:
cmake_minimum_required(VERSION 2.8)
file(GLOB helloworld_SRC
"*.h"
"*.cpp"
)
add_executable(helloworld ${helloworld_SRC})
Обратите внимание, что это требует ручного повторного запуска cmake
при добавлении или удалении исходного файла, поскольку сгенерированная система сборки не знает, когда просить CMake перегенерировать, а делать это при каждой сборке - значит увеличить время сборки.