【发布时间】:2014-12-27 18:57:12
【问题描述】:
实际上,当使用 GCC 作为编译器调用 CMake 时,SDL2 可以开箱即用地编译,我很高兴。软件应该总是那么容易构建,但我想要更多。
假设我的所有软件都在这样的目录树中:
F:/GIT/SDL2_0_3
F:/GIT/myProject
我想要实现的是调用 CMake
F:/GIT/myProject/build/XXX> cmake ../../ -G "GeneratorName"
获得
F:/GIT/myProject/bin/XXX/libMyProject.dll
F:/GIT/myProject/bin/XXX/libSDL2.dll
F:/GIT/myProject/build/XXX/projectfile
XXX是目标的名字(我加的一个变量):
-DTARGET_NAME:STRING="XXX"
是否可以“add_subdirectory(SDL)”以便我可以将所有内容委托给
F:/GIT/SDL2_0_3/CMakeLists.txt
实际上我必须单独构建 SDL,但是进入 X 个文件夹以拥有 X 个不同的 SDL 二进制文件有点乏味(并且为每个依赖重复 X,因为我不限于 SDL,实际上一个批处理脚本正在这样做我,但我想迁移到 Cmake,因为它是便携式的)。
我有一个文件夹,其中包含我使用的所有库和项目 (F:/GIT),因此我无法在以下位置使用 CMakeLists.txt 文件:
F:/GIT/CMakeLists.txt
所以这个问题不是重复的:Depending on another CMake project(我需要一个不同的答案,因为另一个还不够)
PS:
我特别需要多个目标,因为我正在交叉编译并支持某些编译器的多个版本(因为不同编译器版本的二进制文件只会崩溃...... GCC u.u)
【问题讨论】:
标签: cmake