Ich habe eine CMakeLists.txt erstellt, die Folgendes enthält
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)
Standardmäßig ist BUILD_TESTS AUS. Wie kann ich es ohne CMake-GUI, aber mit dem Befehl cmake selbst einschalten? Ich habe Folgendes versucht, aber es funktioniert nicht
cmake .. -G %1 -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DBUILD_TESTS=ON
..
Argument auf.Antworten:
Löschen Sie die Datei CMakeCache.txt und versuchen Sie Folgendes:
Sie müssen alle Befehlszeilendefinitionen eingeben, bevor Sie den Pfad einfügen können.
quelle
-DOPTION=OFF
.cmake .. -G <whatever> -DOPTION=ON
für mich mit CMake 3.16.2 einwandfrei.Eine zusätzliche Option besteht darin, in Ihren Build-Ordner zu wechseln und den Befehl zu verwenden
ccmake .
Dies ist wie die GUI, aber terminalbasiert. Dies hilft natürlich nicht bei einem Installationsskript, kann aber zumindest ohne Benutzeroberfläche ausgeführt werden.
Die einzige Warnung, die ich habe, ist, dass Sie manchmal nicht generieren können, wenn Sie Warnungen haben. Wenn dies der Fall ist, verlassen Sie die Schnittstelle und rufen Sie an
cmake .
quelle
das funktioniert bei mir:
quelle