Sök…


CMakeLists.txt för Qt 5

En minimal CMake-projektfil som använder Qt5 kan vara:

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 kallas för att ställa in minsta nödvändiga version för CMake. Den lägsta version som krävs för att detta exempel ska fungera är 2.8.11 - tidigare versioner av CMake behöver ytterligare kod för ett mål för att använda Qt.

find_package kallas för att söka i en installation av Qt5 med en given version - 5.7.0 i exemplet - och önskade komponenter - Kärnmodul i exemplet. För Qt-dokumentation finns en lista över tillgängliga moduler. Qt5 är markerat som REQUIRED i detta projekt. Sökvägen till installationen kan antydas genom att ställa in variabeln Qt5_DIR .

AUTOMOC är en booleska som specificerar om CMake ska hantera Qt moc förbehandlaren automatiskt, dvs. utan att behöva använda QT5_WRAP_CPP() -makroen.

Andra "AUTOMOC-liknande" variabler är:

  • AUTOUIC : en boolesisk som specificerar om CMake ska hantera Qt uic kodgeneratorn automatiskt, dvs. utan att behöva använda QT5_WRAP_UI() -makroen.

  • AUTORCC : en boolean som specificerar om CMake ska hantera Qt rcc kodgeneratorn automatiskt, det vill säga utan att behöva använda QT5_ADD_RESOURCES() -makroen.

add_executable kallas för att skapa ett körbart mål från de givna källfilerna. Målet kopplas sedan till de listade Qt-modulerna med kommandot target_link_libraries . Från CMake 2.8.11 hanterar target_link_libraries med Qt: s importerade mål länkparametrar, samt inkluderar kataloger och kompilatoralternativ.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow