Qt
CMakeLists.txt voor uw Qt-project
Zoeken…
CMakeLists.txt voor Qt 5
Een minimaal CMake-projectbestand dat Qt5 gebruikt, kan zijn:
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
wordt aangeroepen om de minimaal vereiste versie voor cmake_minimum_required
in te stellen. De minimaal vereiste versie om dit voorbeeld te laten werken is 2.8.11
- vorige versies van CMake hebben extra code nodig voor een doel om Qt te gebruiken.
find_package
wordt opgeroepen om een installatie van Qt5 te zoeken met een bepaalde versie - 5.7.0 in het voorbeeld - en gewenste componenten - Core-module in het voorbeeld. Zie Qt-documentatie voor een lijst met beschikbare modules. Qt5 is gemarkeerd als REQUIRED
in dit project. Het pad naar de installatie kan worden aangegeven door de variabele Qt5_DIR
.
AUTOMOC
is een boolean die AUTOMOC
of AUTOMOC
de Qt moc
preprocessor automatisch zal verwerken, dwz zonder de macro QT5_WRAP_CPP()
te gebruiken.
Andere "AUTOMOC-achtige" variabelen zijn:
AUTOUIC
: een boolean dieAUTOUIC
ofAUTOUIC
de Qtuic
-codegenerator automatisch zal verwerken, dwz zonder de macroQT5_WRAP_UI()
te gebruiken.AUTORCC
: een boolean dieAUTORCC
ofAUTORCC
de Qtrcc
-codegenerator automatisch zal verwerken, dwz zonder de macroQT5_ADD_RESOURCES()
te gebruiken.
add_executable
wordt aangeroepen om een uitvoerbaar doel te maken van de gegeven bronbestanden. Het doel wordt vervolgens gekoppeld aan de vermelde Qt-modules met het commando target_link_libraries
. Vanuit CMake 2.8.11 verwerkt target_link_libraries
met de geïmporteerde doelen van Qt linkerparameters, evenals mappen en compileropties.