Suche…


CMakeLists.txt für Qt 5

Eine minimale CMake-Projektdatei, die Qt5 verwendet, kann Folgendes sein:

cmake_minimum_required(VERSION 2.8.11)

project(myproject)

find_package(Qt5 5.7.0 REQUIRED COMPONENTS
    Core
)

set(CMAKE_AUTOMOC ON)

add_executable(${PROJECT_NAME}
    main.cpp
)

target_link_libraries(${PROJECT_NAME}
    Qt5::Core
)

cmake_minimum_required wird aufgerufen, um die minimal erforderliche Version für CMake cmake_minimum_required . Für dieses Beispiel ist mindestens die Version 2.8.11 - frühere Versionen von CMake benötigen zusätzlichen Code, damit ein Ziel Qt verwenden kann.

find_package wird aufgerufen, um eine Installation von Qt5 mit einer bestimmten Version - 5.7.0 im Beispiel - und gewünschten Komponenten - Core-Modul im Beispiel zu suchen. Eine Liste der verfügbaren Module finden Sie in der Qt-Dokumentation . Qt5 ist in diesem Projekt als REQUIRED markiert. Der Pfad zur Installation kann durch Setzen der Variablen Qt5_DIR .

AUTOMOC ist ein Boolescher AUTOMOC angibt, ob CMake den Qt- moc Präprozessor automatisch behandelt, dh, ohne das Makro QT5_WRAP_CPP() .

Andere "AUTOMOC-ähnliche" Variablen sind:

  • AUTOUIC : Ein boolescher AUTOUIC angibt, ob CMake den uic Codegenerator automatisch behandelt, dh ohne das Makro QT5_WRAP_UI() .

  • AUTORCC : Ein boolescher AUTORCC angibt, ob CMake den Qt- rcc Codegenerator automatisch behandelt, dh ohne das Makro QT5_ADD_RESOURCES() .

add_executable wird aufgerufen, um aus den angegebenen Quelldateien ein ausführbares Ziel zu erstellen. Das Ziel wird dann mit dem Befehl target_link_libraries mit den aufgelisteten Qt-Modulen target_link_libraries . Von CMake 2.8.11 aus behandeln target_link_libraries mit den importierten Qt-Zielen Linker-Parameter sowie Include-Verzeichnisse und Compiler-Optionen.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow