基本的な設定は下記の通り
CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(test)
set(CMAKE_CXX_STANDARD 14)
# curdirをinclude file探索対象にする
# mocで生成されたファイルをincludeするはずなので、有効にしとくが吉
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# mocコマンドを自動実行する
set(CMAKE_AUTOMOC ON)
# Qt5のインストール先フォルダをcmake_prefix_pathに追加(find_packageの探索先)
# cmakeのmodule配下にqtがインストールされてる場合は必要なし
set(Qt5_DIR /usr/local/opt/qt5)
list(APPEND CMAKE_PREFIX_PATH ${Qt5_DIR})
# 適当に使うモジュールを選択
# Qt5<module name>
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
set(SOURCE_FILES main.cpp MainWindow.cpp MainWindow.h)
add_executable(test_bin ${SOURCE_FILES})
# Qt5::<module name>でリンクするモジュールを指定
target_link_libraries(test_bin Qt5::Core Qt5::Widgets)
注意
cmakeとは関係ないけど、mocコマンドで生成されたmocファイルを必要とするファイルではmocファイルをinclude忘れないように。
Q_OBJECT句とかで生成されるやつ