How to convert qmake to cmake?

There is a python script to convert QMake to CMake on a WIP branch of Qt Base: https://code.qt.io/cgit/qt/qtbase.git/tree/util/cmake/pro2cmake.py?h=wip/cmake

It will probably be released with Qt 6 when CMake will become the main build system.


QMake: The required libraries.

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

CMake: only the add is necessary. An exclude (QT -= gui) is not required.

find_package(Qt5Core REQUIRED)
find_package(Qt5Network REQUIRED)

QMake: Additional Compiler flags:

CONFIG += c++11

CMake: Extend the list of compiler flags as required.

set(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -std=c++0x")

QMake: The source files

SOURCES += main.cpp \
    test_interface.cpp \
    motomanlibrary.cpp \
    processing.cpp

CMake: Create a list of source files

set(SOURCES
    main.cpp
    test_interface.cpp
    motomanlibrary.cpp
    processing.cpp
)

QMake: The header to be included:

SOURCES += main.cpp \
    test_interface.h \
    motomanlibrary.h \
    processing.h

CMake: Just show where the header files are.

include_directory(.) #  or include_directory(${CMAKE_CURRENT_SOURCE_DIR})
include_directory(some/where/else)

QMake: The target to be built:

TARGET = test

CMake: Set the name of the target, add the sources, link the required libs.

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

See further details on Convert qmake to cmake

Tags:

Qt

Cmake

Qmake