Ответ 1
QMake: необходимые библиотеки.
QT += core
QT -= gui
QT += network
CMake: необходимо только добавить. Исключение (QT - = gui) не требуется.
find_package(Qt5Core REQUIRED)
find_package(Qt5Network REQUIRED)
QMake: дополнительные флаги компилятора:
CONFIG += c++11
CMake: расширять список флагов компилятора по мере необходимости.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
QMake: исходные файлы
SOURCES += main.cpp \
test_interface.cpp \
motomanlibrary.cpp \
processing.cpp
CMake: создать список исходных файлов
set(SOURCES
main.cpp
test_interface.cpp
motomanlibrary.cpp
processing.cpp
)
QMake: заголовок для включения:
SOURCES += main.cpp \
test_interface.h \
motomanlibrary.h \
processing.h
CMake: просто покажи, где находятся заголовочные файлы.
include_directory(.) # or include_directory(${CMAKE_CURRENT_SOURCE_DIR})
include_directory(some/where/else)
QMake: цель, которую нужно построить:
TARGET = test
CMake: установите имя цели, добавьте источники, свяжите необходимые библиотеки.
add_executable(test ${SOURCES} )
qt5_use_modules(test Core Network) # This macro depends from the Qt version
# Should not be necessary
#CONFIG += console
#CONFIG -= app_bundle
#TEMPLATE = app
См. дополнительную информацию о конвертации qmake в cmake.