How to convert qmake to cmake?

前端 未结 2 451
后悔当初
后悔当初 2020-12-02 21:08

I have a .pro file on my project, but now I want to port it to a CMakeLists.txt file. How can I do this?

QT += core
QT -= gui
CON         


        
相关标签:
2条回答
  • 2020-12-02 21:28

    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

    0 讨论(0)
  • 2020-12-02 21:36

    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.

    0 讨论(0)
提交回复
热议问题