### ------------------------------------------------------ ###
project(PlugAndPaint)
cmake_minimum_required (VERSION 2.6)
# устанавливаем директорию назначения для исполняемых файлов
set (EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../bin)
# подключаем Qt4
find_package (Qt4 REQUIRED)
set (QT_USE_QTMAIN true)
set (QT_USE_QTPLUGIN true)
include (${QT_USE_FILE})
include_directories (
${QT_INCLUDES}
${CMAKE_CURRENT_SOURCE_DIR}/tmp
)
link_directories (
${CMAKE_CURRENT_SOURCE_DIR}/../plugins
)
set (VERBOSE 1)
# исходные файлы
set(pap_SRC
./main.cpp
./mainwindow.cpp
./paintarea.cpp
./plugindialog.cpp
)
# файлы требующие обработку утилитой moc
SET(pap_MOC_HDRS
./mainwindow.h
./paintarea.h
./plugindialog.h
)
QT4_WRAP_CPP (pap_MOC_SRC ${pap_MOC_HDRS})
# добавляем сборку исполняемого файла
add_executable (plugandpaint ${pap_SRC} ${pap_MOC_SRC})
# библиотеки для линковки
target_link_libraries (plugandpaint ${QT_LIBRARIES} pnp_basictools)
### ------------------------------------------------------ ###
Как собрать примеры Qt с помощью CMake
Вот мой CMakeLists.txt для PulAndPaint:
Код:
Creating library file: ...\bin\libplugandpaint.dll.a
...\plugins/libpnp_basictools.a(basictoolsplugin.o)(.text+0xb5):basictoolsplugin.cpp: undefined reference to `_imp___ZN8QPainter4saveEv'
и т.д.