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 die AUTOUIC of AUTOUIC de Qt uic -codegenerator automatisch zal verwerken, dwz zonder de macro QT5_WRAP_UI() te gebruiken.

  • AUTORCC : een boolean die AUTORCC of AUTORCC de Qt rcc -codegenerator automatisch zal verwerken, dwz zonder de macro QT5_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.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow