提交 7941bf69 编写于 作者: D dev

引入 CMake 作为备份项目管理器,进而验证Qt6选择CMAKE后的项目迁移

上级 7a5215ae
......@@ -3,3 +3,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
add_subdirectory(qtviewer_planetosm)
add_subdirectory(qtvplugin_geomarker)
add_subdirectory(qtvplugin_grid)
add_subdirectory(qtwidget_planetosm_designer)
add_subdirectory(test_container)
......@@ -107,27 +107,15 @@ if(QT_VERSION_MAJOR EQUAL 6)
endif()
# ========================Widget Library========================
if(ANDROID)
add_library(qplanetosm_widget SHARED
qtwidget_planetosm.h
qtwidget_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
add_library(qplanetosm_widget SHARED
qtwidget_planetosm.h
qtwidget_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
endif()
add_library(qplanetosm_widget SHARED
qtwidget_planetosm.h
qtwidget_planetosm.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
target_compile_definitions(qplanetosm_widget PRIVATE PLANETOSM_EXPORT_DLL)
target_link_libraries(qplanetosm_widget PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
......
#include "osm_frame_widget.h"
#include "osm_frame_widget.h"
#include "ui_osm_frame_widget.h"
#include <QDir>
#include <QtPlugin>
......@@ -230,7 +230,7 @@ void osm_frame_widget::EnumPlugins()
QString strAppDir = QCoreApplication::applicationDirPath();
QDir pluginsDir(strAppDir);
QStringList filters;
filters << "qtvplugin_*.dll" << "libqtvplugin_*.so";
filters << "libqtvplugin_*.dll" << "qtvplugin_*.dll" << "libqtvplugin_*.so" << "qtvplugin_*.so";
pluginsDir.setNameFilters(filters);
//Enum files
foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
......
cmake_minimum_required(VERSION 3.5)
project(qtvplugin_geomarker VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
set(PRJ_HEADERS
../qtviewer_planetosm/osmtiles/layer_interface.h
../qtviewer_planetosm/osmtiles/viewer_interface.h
qtvplugin_geomarker.h
geographicsellipseitem.h
geoitembase.h
geographicsscene.h
geographicsrectitem.h
geographicslineitem.h
geographicspolygonitem.h
geographicspixmapitem.h
dialogselecticon.h
geographicsmultilineitem.h
)
set(PRJ_SOURCES
qtvplugin_geomarker.cpp
geographicsellipseitem.cpp
geoitembase.cpp
geographicsscene.cpp
geographicsrectitem.cpp
qtvplugin_geomarker_uimethods.cpp
geographicslineitem.cpp
geographicspolygonitem.cpp
qtvplugin_geomarker_func.cpp
qtvplugin_geomarker_xml.cpp
geographicspixmapitem.cpp
dialogselecticon.cpp
geographicsmultilineitem.cpp
)
set(PRJ_FORMS
qtvplugin_geomarker.ui
dialogselecticon.ui
)
set(PRJ_RESOURCES
resources.qrc
qtvplugin_geomarker_zh_CN.ts
)
add_library(qtvplugin_geomarker SHARED
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
target_compile_definitions(qtvplugin_geomarker PRIVATE PLANETOSM_EXPORT_DLL)
target_link_libraries(qtvplugin_geomarker PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
)
#include "qtvplugin_geomarker.h"
#include "qtvplugin_geomarker.h"
#include "ui_qtvplugin_geomarker.h"
#include <QPainter>
#include <QBrush>
......@@ -188,8 +188,7 @@ void qtvplugin_geomarker::loadTranslations()
if (app && m_nInstance==1)
{
QString strTransLocalFile =
":/" +
m_SLLibName+ "_" +
":/qtvplugin_geomarker_" +
QLocale::system().name()+".qm";
if (true==pluginTranslator.load(strTransLocalFile ))
{
......@@ -199,7 +198,6 @@ void qtvplugin_geomarker::loadTranslations()
}
else
QTVOSM_WARNING("Load translationfile")<<"\n\t"<<strTransLocalFile<<" Not Found.";
}
}
......
cmake_minimum_required(VERSION 3.5)
project(qtvplugin_grid VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
set(PRJ_HEADERS
../qtviewer_planetosm/osmtiles/layer_interface.h
../qtviewer_planetosm/osmtiles/viewer_interface.h
qtvplugin_grid.h
)
set(PRJ_SOURCES
qtvplugin_grid.cpp
)
set(PRJ_FORMS
qtvplugin_grid.ui
)
set(PRJ_RESOURCES
resources.qrc
qtvplugin_grid_zh_CN.ts
)
add_library(qtvplugin_grid SHARED
${PRJ_HEADERS}
${PRJ_SOURCES}
${PRJ_FORMS}
${PRJ_RESOURCES}
)
target_compile_definitions(qtvplugin_grid PRIVATE PLANETOSM_EXPORT_DLL)
target_link_libraries(qtvplugin_grid PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
)
#include "qtvplugin_grid.h"
#include "qtvplugin_grid.h"
#include "ui_qtvplugin_grid.h"
#include <QPainter>
#include <QBrush>
......@@ -110,8 +110,7 @@ bool qtvplugin_grid::loadTranslation()
if (app && m_nInstance==1)
{
QString strTransLocalFile =
":/" +
m_SLLibName+ "_" +
":/qtvplugin_grid_" +
QLocale::system().name()+".qm";
if (true==pluginTranslator.load(strTransLocalFile ))
{
......
cmake_minimum_required(VERSION 3.5)
project(qplanetosm_designer VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets Designer REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets Designer REQUIRED)
set(PRJ_HEADERS
osm_designer_plugin.h
qtwidget_planetosm_designer_global.h
)
set(PRJ_SOURCES
osm_designer_plugin.cpp
)
add_library(qplanetosm_designer SHARED
${PRJ_HEADERS}
${PRJ_SOURCES}
)
target_compile_definitions(qplanetosm_designer PRIVATE QTWIDGET_PLANETOSM_DESIGNER_LIBRARY)
target_link_libraries(qplanetosm_designer PRIVATE
qplanetosm_widget
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::Designer
)
cmake_minimum_required(VERSION 3.5)
project(test_container VERSION 0.1 LANGUAGES CXX)
SET(QTV_ACTIVEX FALSE)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include_directories(../qtviewer_planetosm)
if (WIN32 AND ${QTV_ACTIVEX})
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets AxContainer REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets AxContainer REQUIRED)
else()
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
endif()
set(PRJ_HEADERS
testcontainer.h
)
set(PRJ_SOURCES
main.cpp
)
# ========================Exe========================
if (WIN32 AND ${QTV_ACTIVEX})
add_executable(test_container
testcontainer.cpp
testcontainer.ui
${PRJ_HEADERS}
)
target_link_libraries(test_container PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
Qt${QT_VERSION_MAJOR}::AxContainer
qplanetosm_widget
)
else()
if(ANDROID)
add_library(test_container SHARED
testcontainer_linux.ui
testcontainer_linux.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
)
# Define properties for Android with Qt 5 after find_package() calls as:
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
else()
add_executable(test_container
testcontainer_linux.ui
testcontainer_linux.cpp
${PRJ_HEADERS}
${PRJ_SOURCES}
)
endif()
target_link_libraries(test_container PRIVATE
Qt${QT_VERSION_MAJOR}::Widgets
qplanetosm_widget
)
endif()
set_target_properties(test_container PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER qtv.planetosm.testcontainer
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册