[cmake] 명령 줄에서 CMake option ()을 설정하는 방법

다음을 포함하는 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



답변

CMakeCache.txt 파일을 삭제하고 다음을 시도하십시오.

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

경로를 포함하기 전에 모든 명령 줄 정의를 입력해야합니다.


답변

추가 옵션은 빌드 폴더로 이동하여 다음 명령을 사용하는 것입니다. ccmake .

이것은 GUI와 비슷하지만 터미널 기반입니다. 이것은 분명히 설치 스크립트에 도움이되지 않지만 적어도 UI없이 실행할 수 있습니다.

내가 가진 한 가지 경고는 경고가있을 때 가끔 생성 할 수 없다는 것입니다. 이 경우 인터페이스를 종료하고cmake .


답변

이것은 나를 위해 작동합니다.

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


답변