3
想象一下以下情况:CMake的目标设置问题
我有“项目”的文件夹,这个文件夹我有“SRC”文件夹,2个文件“1.cpp”和“2.cpp”的。每一个.cpp产生一个可执行文件。 CMake的生成Makefile后,我希望能够做到以下几点:
- 指定我想建立可执行的“1”或“2”或两者
- 指定我想建立在调试的所有可执行文件模式
- 指定我希望建立在释放模式的所有可执行文件
- 指定我想建立在发布和调试模式
,所以我希望能够所有可执行文件中写入以下:
- (c)作出/任何1
- (c)作出/什么2
- (c)作出/任何全释放
- (c)作出/任何所有调试
- (c)使任何东西全部调试并发布
实现这一目标的最佳方法是什么? 非常感谢!
指定在cmake文件中或运行make时需要调试/释放模式是非常不寻常的(如果cmake生成了package/tarball /不管怎么说 - 也许不是这样 - 我还没有这么做)。通常,在设置特定版本时指定Release/Debug,通过用'cmake-gui'指定'CMAKE_BUILD_TYPE'来指定。您可以使用if检查构建的类型以包含/排除cmake文件中的项目。我不这样做,但我确实使用'if(CMAKE_HOST_WIN32)'来避免在Linux上构建特定于win32的代码,原理是一样的。 – Steve314 2011-03-05 10:32:57
要一次构建多个配置,我总是使用单独的构建树并使用脚本在每个文件夹中调用make。我不会说这是一个好方法,但它可以完成工作。 – Steve314 2011-03-05 10:35:51
感谢您的回复。我会发布另一个关于一次构建多个配置的问题。 – 2011-03-05 13:36:57