サーチ…


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_packagefind_packageインストールを検索するために呼び出されます。例では5.7.0、必要なコンポーネントはコアモジュールです。使用可能なモジュールの一覧については、 Qtドキュメントを参照してください。このプロジェクトではQt5がREQUIREDとマークされています。変数Qt5_DIR設定することによって、インストールへのパスを示唆することができます。

AUTOMOCは、CMakeがQt mocプリプロセッサを自動的に処理するかどうか、つまりQT5_WRAP_CPP()マクロを使用するQT5_WRAP_CPP()ないかどうかを指定するブール値です。

他の "AUTOMOC様"変数は次のとおりです。

  • AUTOUIC :CMakeがQt uicコードジェネレータを自動的に処理するかどうか、つまりQT5_WRAP_UI()マクロを使用するQT5_WRAP_UI()ないかどうかを指定するブール値。

  • AUTORCC :CMakeがQt rccコードジェネレータを自動的に処理するかどうか、つまりQT5_ADD_RESOURCES()マクロを使用するQT5_ADD_RESOURCES()ないかどうかを指定するブール値。

add_executableは、指定されたソースファイルから実行可能なターゲットを作成するために呼び出されます。ターゲットは、コマンドtarget_link_librariesして、リストされたQtのモジュールにリンクされます。 CMake target_link_libraries 、Qtのインポートされたターゲットを使用するtarget_link_librariesは、リンカパラメータとincludeディレクトリとコンパイラオプションを処理します。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow