131

我创建了一个包含以下内容的 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 是关闭的,我如何在没有 CMake GUI 的情况下打开它,但使用 cmake 命令本身?我尝试了以下方法,但它不起作用

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

3 回答 3

137

删除 CMakeCache.txt 文件并尝试以下操作:

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

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

于 2014-11-27T11:15:22.990 回答
11

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

这类似于 GUI,但基于终端。这显然对安装脚本没有帮助,但至少它可以在没有 UI 的情况下运行。

我收到的一个警告是,有时当您收到警告时,它不会让您生成。如果是这种情况,请退出界面并调用cmake .

于 2018-01-29T14:12:14.193 回答
7

这对我有用:

cmake -D DBUILD_SHARED_LIBS=ON DBUILD_STATIC_LIBS=ON DBUILD_TESTS=ON ..
于 2018-09-18T17:07:28.857 回答