拥有一个包含不同平台设置的cmake文件夹

时间:2018-02-14 00:45:53

标签: visual-studio gcc cmake cross-platform target

我正在尝试为不同的平台提供不同的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')

0 个答案:

没有答案