如何列出所有CMake构建选项及其默认值?

时间:2013-05-31 06:33:48

标签: cmake

如何在命令行中列出cmake默认构建选项? 我需要从源代码构建OpenCV库,之后我想知道什么是默认的构建设置。

3 个答案:

答案 0 :(得分:35)

<强> 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开关还会显示选项marked as advanced,因此您可能希望在随意浏览最有用的选项时省略它。

ccmake ncurses

sudo apt-get install cmake-curses-gui
ccmake ..

所示:

在Ubuntu 16.10中测试,cmake 3.5.2。

答案 1 :(得分:3)

您也可以执行cmake -LAHH标志将为您提供每个选项的帮助。

答案 2 :(得分:1)

我不知道直接的方法。

解决这个问题的方法是编辑主CMakeLists.txt并在文件末尾打印您感兴趣的设置。存储最重要的cmake设置的变量列于here

我总是在我的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})