如何在命令行中列出 cmake 默认构建选项?
我需要从源代码构建 OpenCV 库。在此之前,我想知道默认的构建设置是什么。
问问题
55589 次
3 回答
87
cmake -LA
要列出所有option(
和set( CACHE
(缓存的)变量,请执行以下操作:
mkdir build
cd build
cmake ..
cmake -LA | awk '{if(f)print} /-- Cache values/{f=1}'
示例标准输出:
AUTOGEMM_ARCHITECTURE:STRING=Hawaii
BLAS_DEBUG_TOOLS:BOOL=OFF
BLAS_DUMP_CLBLAS_KERNELS:BOOL=OFF
BLAS_KEEP_KERNEL_SOURCES:BOOL=ON
BLAS_PRINT_BUILD_ERRORS:BOOL=O
该-A
开关还显示标记为高级的选项,因此您可能希望在随意浏览最有用的选项时忽略它。
您可能还有兴趣添加-H
以显示有关每个选项的更多帮助信息,如前所述:https ://stackoverflow.com/a/53075317/895245
cmake -LAH
ccmake
诅咒
sudo apt-get install cmake-curses-gui
ccmake ..
显示:
在 Ubuntu 16.10、cmake 3.5.2 中测试。
于 2017-03-22T07:33:22.377 回答
30
你也可以cmake -LAH
。该H
标志将为您提供每个选项的帮助。
于 2018-10-31T02:11:45.563 回答
2
我不知道直接的方法。
解决此问题的一种方法是编辑主 CMakeLists.txt 并在文件末尾打印您感兴趣的设置。此处列出了存储最重要的 cmake 设置的变量:
我总是在 CMakeLists.txt 的末尾打印这些变量以查看设置。
MESSAGE(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
MESSAGE(STATUS "Library Type: " ${LIB_TYPE})
MESSAGE(STATUS "Compiler flags:" ${CMAKE_CXX_COMPILE_FLAGS})
MESSAGE(STATUS "Compiler cxx debug flags:" ${CMAKE_CXX_FLAGS_DEBUG})
MESSAGE(STATUS "Compiler cxx release flags:" ${CMAKE_CXX_FLAGS_RELEASE})
MESSAGE(STATUS "Compiler cxx min size flags:" ${CMAKE_CXX_FLAGS_MINSIZEREL})
MESSAGE(STATUS "Compiler cxx flags:" ${CMAKE_CXX_FLAGS})
于 2013-05-31T08:55:39.907 回答