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 dieAUTOUICofAUTOUICde Qtuic-codegenerator automatisch zal verwerken, dwz zonder de macroQT5_WRAP_UI()te gebruiken.AUTORCC: een boolean dieAUTORCCofAUTORCCde 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.