Qt を cmake から使う(CLion から使う)。
概要
Qt の開発というととりあえず QtCreator を使えばいいだろ、と思うのだが、最近 JetBrains から CLion という神ツールが発売された。
業務が IntelliJ だもので操作感が同じというのもあるんだが、 C++ でリファクタリングができるというさいつよツールなのでこれを使いたい。 しかしながら CLion は cmake 形式のプロジェクトしか読み込めない。
対処
Qt は cmake のビルドにも対応している。良い。(QtCreator から使うと恐ろしく扱いづらいが)
基本はこれにしたがって設定すれば良い。あとは作った cmake プロジェクトを CLion から読みこめるので Qt を利用したコードを CLion から利用できる。 SIGANAL/SLOT などの Qt の C++ 拡張部分も問題なく使えた。
システム変数の追加
CMAKE_PREFIX_PATH
に Qt のディレクトリを追加する。僕の環境だと C:\Qt\5.3\mingw482_32
だった。
これで cmake が Qt の位置を知ることができる。
cmake の記述
# Created by Hal@shurabaP project(sample) # configuration for Qt set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) # cmake options set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11") # dependency find_package(Qt5Core) get_target_property(QtCore_location Qt5::Core LOCATION) find_package(Qt5Gui) get_target_property(QtCore_location Qt5::Gui LOCATION) find_package(Qt5Multimedia) get_target_property(QtCore_location Qt5::Multimedia LOCATION) find_package(Qt5Widgets) get_target_property(QtCore_location Qt5::Widgets LOCATION) # sources add_executable(sample main.cpp) target_link_libraries(sample LINK_PUBLIC Qt5::Core Qt5::Gui Qt5::Multimedia Qt5::Widgets)
cmake よく知らないから間違ってるかも。とりあえずビルドして実行できたので僕はこの設定を使っている。