如何在命令行设置CMake选项()

时间:2013-08-26 01:40:14

标签: cmake

我创建了一个包含以下内容的CMakeLists.txt

project(P4V)
cmake_minimum_required(VERSION 2.6)

option(BUILD_STATIC_LIBS "Build the static library" ON)
option(BUILD_SHARED_LIBS "Build the shared library" ON)
option(BUILD_TESTS "Build test programs" OFF)

include_directories(${CMAKE_SOURCE_DIR}/include)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)
set(CMAKE_BUILD_TYPE Release)

add_subdirectory(src)
if(BUILD_TESTS)
    add_subdirectory(tests)
endif(BUILD_TESTS)

默认情况下,BUILD_TESTS为OFF,如何在没有CMake GUI的情况下将其打开,但是使用cmake命令本身? 我尝试了以下,但它不起作用

cmake .. -G %1 -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_TESTS=ON

3 个答案:

答案 0 :(得分:70)

删除CMakeCache.txt文件并尝试:

cmake -G %1 -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_TESTS=ON ..

在包含路径之前,您必须输入所有命令行定义。

答案 1 :(得分:7)

另一个选项是转到构建文件夹并使用命令ccmake .

这就像GUI但基于终端。这显然无助于安装脚本,但至少可以在没有UI的情况下运行。

我发出的一个警告是,当你收到警告时,它不会让你产生。如果是这种情况,请退出界面并致电cmake .

答案 2 :(得分:0)

这对我有用:

cmake -D DBUILD_SHARED_LIBS=ON DBUILD_STATIC_LIBS=ON DBUILD_TESTS=ON ..