例如,我应该如何同时构建发布版本和调试版本?我猜答案是利用缓存变量和某种“集合”来实现。从缓存参数中获取配置参数是常见的方法,不是吗?如果答案是肯定的,那么我应该如何最好地使用它们的几个“集合”?非常感谢!
例如,我应该如何同时构建发布版本和调试版本?我猜答案是利用缓存变量和某种“集合”来实现。从缓存参数中获取配置参数是常见的方法,不是吗?如果答案是肯定的,那么我应该如何最好地使用它们的几个“集合”?非常感谢!
您没有明确指定您所讨论的平台。基于Makefiles的生成器一次只能构建一个配置,构建多个配置的常规方法是使用单独的构建目录,例如针对64位Linux上的Intel的一个,针对32位Windows的一个等等。大多数CMake项目建议在源代码目录之外进行构建,并且假设您正确编写了CMakeLists文件,则可以拥有~/src/YourProject和~/build/YourProject-Release、~/build/YourProject-Debug。
这是推荐的方法,假设您的源代码树中没有任何CMakeCache.txt等文件。然后,您可以在调试目录中运行cmake -DCMAKE_BUILD_TYPE:STRING=Debug ~/src/YourProject,并在发布版本中类似地操作。这样做的好处是您可以将依赖项项目指向适当的配置。
Boost CMake项目还尝试使用库名称改名来区分,在同一个构建目录中构建所有配置。如果您必须在同一个构建目录中构建所有配置,则可以考虑这种方法。