Как конвертировать qmake в cmake?

У меня есть.pro файл в моем проекте, но теперь я хочу перенести его в CMakeLists.txt файл, как я могу это сделать ?

QT += core
QT -= gui
CONFIG += c++11
TARGET = test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
QT += network
SOURCES += main.cpp 
    test_interface.cpp 
    motomanlibrary.cpp 
    processing.cpp
SOURCES += main.cpp 
    test_interface.h 
    motomanlibrary.h 
    processing.h

1 ответов


QMake: необходимые библиотеки.

QT += core
QT -= gui
QT += network

CMake: только добавить необходимо.

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: просто покажите, где файлы заголовков are

include_directory(.) #  or include_directory(${CMAKE_CURRENT_SOURCE_DIR})

QMake: цель для построения:

TARGET = test

CMake: установите имя цели, добавьте источники, свяжите необходимые библиотеки.

add_executable(test ${SOURCES} )
qt5_use_modules(test Core Network) # This macro depends from Qt version

# Should not be necessary
#CONFIG += console
#CONFIG -= app_bundle
#TEMPLATE = app

увидеть более подробную информацию о конвертировать qmake в cmake