如何将 qmake 转换为 cmake?
How to convert qmake to 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
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:要包含的header:
SOURCES += main.cpp \
test_interface.h \
motomanlibrary.h \
processing.h
CMake:只显示 header 文件的位置。
include_directory(.) # or include_directory(${CMAKE_CURRENT_SOURCE_DIR})
include_directory(some/where/else)
QMake:要构建的目标:
TARGET = test
CMake:设置目标的名称,添加源,link 所需的库。
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
查看更多详情 Convert qmake to cmake
在 Qt Base 的 WIP 分支上有一个 python 脚本将 QMake 转换为 CMake:https://code.qt.io/cgit/qt/qtbase.git/tree/util/cmake/pro2cmake.py?h=wip/cmake
当 CMake 成为主要构建系统时,它可能会与 Qt 6 一起发布。
我的项目中有一个 .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
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:要包含的header:
SOURCES += main.cpp \
test_interface.h \
motomanlibrary.h \
processing.h
CMake:只显示 header 文件的位置。
include_directory(.) # or include_directory(${CMAKE_CURRENT_SOURCE_DIR})
include_directory(some/where/else)
QMake:要构建的目标:
TARGET = test
CMake:设置目标的名称,添加源,link 所需的库。
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
查看更多详情 Convert qmake to cmake
在 Qt Base 的 WIP 分支上有一个 python 脚本将 QMake 转换为 CMake:https://code.qt.io/cgit/qt/qtbase.git/tree/util/cmake/pro2cmake.py?h=wip/cmake
当 CMake 成为主要构建系统时,它可能会与 Qt 6 一起发布。