我正在尝试为不同的平台提供不同的CMakeLists.txt
,其中包含一些预先配置的内容,例如CMake变量,它们将在构建期间控制任意参数。例如:对于此平台启用静态构建,不要构建该源目录。我想要一个类似的结构:
root\
projects\
win32\CMakeList.txt
Android\CMakeList.txt
VAX\CMakeList.txt
cmake\cmake_scripts.cmake
src\
library\
我不确定如何配置这种“正确的方法”。在打开CMakeList.txt
文件之前,我已经看到了一些脚本配置变量等的解决方案,但我觉得添加第3步构建是错误的。
我尝试使用add_subdirectory
添加父目录,但是cmake抱怨root
不是win32
的子目录,这是真的。
我尝试从一个叶子include
root\CMakeList.txt
,但有些路径不对,所以我使用了设置CMAKE_SOURCE_DIR
来破坏大部分cmake脚本。
说真的,脚本等价物就像
cd ../..
change_working_directory('.')
exec('foo')