Qt 5 的 CMakeLists.txt

使用 Qt5 的最小 CMake 專案檔案可以是:

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 來設定 CMake 的最低要求版本。此示例工作的最低要求版本是 2.8.11 - 以前版本的 CMake 需要額外的程式碼才能使目標使用 Qt。

呼叫 find_package 來搜尋具有給定版本的 Qt5 的安裝 - 在示例中為 5.7.0 - 並且需要元件 - 示例中的核心模組。有關可用模組的列表,請參閱 Qt 文件 。Qt5 在此專案中標記為 REQUIRED。可以通過設定變數 Qt5_DIR 來暗示安裝路徑。

AUTOMOC 是一個布林值,指定 CMake 是否自動處理 Qt moc 前處理器,即不必使用 QT5_WRAP_CPP() 巨集。

其他“類似 AUTOMOC”的變數是:

  • AUTOUIC:一個布林值,指定 CMake 是否自動處理 Qt uic 程式碼生成器,即無需使用 QT5_WRAP_UI() 巨集。

  • AUTORCC:一個布林值,指定 CMake 是否自動處理 Qt rcc 程式碼生成器,即不必使用 QT5_ADD_RESOURCES() 巨集。

呼叫 add_executable 以從給定的原始檔建立可執行目標。然後使用命令 target_link_libraries 將目標連結到列出的 Qt 模組。從 CMake 2.8.11 開始,帶有 Qt 匯入目標的 target_link_libraries 處理連結器引數,以及包含目錄和編譯器選項。