看起来我们需要为每个构建类型(调试/发布)创建单独的文件夹,在每个构建类型上运行cmake,并为调试/发布配置生成单独的makefile.是否可以使用cmake创建一个单独的makefile,它同时支持调试/发布配置,当我们实际运行"make"时,将为中间产品和最终产品(如dll,exe)创建单独的文件夹.
And*_*ron 12
据我所知,使用一组构建脚本无法实现.但是,您可以执行的工作区域有两个子目录:
build/
build/debug
build/release
然后做:
$ cd build
$
$ cd build/debug
$ cmake -DCMAKE_BUILD_TYPE=Debug ../..
$ make
$
$ cd ../release
$ cmake -DCMAKE_BUILD_TYPE=Release ../..
$ make
如有必要,您可以在build目录中添加另一个构建脚本:
#!/bin/sh
cd debug   && make && cd ..
cd release && make && cd ..
这可以使用ADD_CUSTOM_TARGET命令来实现。例如,如果要在 makefile 中同时添加调试和发布目标,请将以下内容添加到 CMakeLists.txt 文件中:
ADD_CUSTOM_TARGET(debug
  COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Debug ${CMAKE_SOURCE_DIR}
  COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target all
  COMMENT "Creating the executable in the debug mode.")
ADD_CUSTOM_TARGET(release
  COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release ${CMAKE_SOURCE_DIR}
  COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target all
  COMMENT "Creating the executable in the release mode.")
然后,用cmake配置后,可以运行make debugmake debug target和run make releasemake release target在同一个目录下。
| 归档时间: | 
 | 
| 查看次数: | 6457 次 | 
| 最近记录: |