diff --git a/CMakeLists.txt b/CMakeLists.txt index e0f3e2de56aecb5be5bfe7463d491a9b9c775c2f..3ed4c3ee7abe464e00bedb631386ec59680c101c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/qtviewer_planetosm/CMakeLists.txt b/qtviewer_planetosm/CMakeLists.txt index 281975ff8d9fefcc6672137008fcf5c0ccaa1f67..69abd6a62ff5d529e56d77710c9a8fa8d527486f 100644 --- a/qtviewer_planetosm/CMakeLists.txt +++ b/qtviewer_planetosm/CMakeLists.txt @@ -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 diff --git a/qtviewer_planetosm/osm_frame_widget.cpp b/qtviewer_planetosm/osm_frame_widget.cpp index 3afd5be0b22c4fb4b76a300904add0e49298333e..7bda43a586b8ac6f6171524da4d7a4bc4b81bbab 100644 --- a/qtviewer_planetosm/osm_frame_widget.cpp +++ b/qtviewer_planetosm/osm_frame_widget.cpp @@ -1,4 +1,4 @@ -#include "osm_frame_widget.h" +#include "osm_frame_widget.h" #include "ui_osm_frame_widget.h" #include #include @@ -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)) { diff --git a/qtvplugin_geomarker/CMakeLists.txt b/qtvplugin_geomarker/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..5bcd41dcb7b8db6a1100f2591912a16bd8150f77 --- /dev/null +++ b/qtvplugin_geomarker/CMakeLists.txt @@ -0,0 +1,68 @@ +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 +) diff --git a/qtvplugin_geomarker/qtvplugin_geomarker.cpp b/qtvplugin_geomarker/qtvplugin_geomarker.cpp index b2e3c75b59117516e5613d95d8084b3a8f466049..4671d4496351817dab1a1342687fac3cb57de6f8 100644 --- a/qtvplugin_geomarker/qtvplugin_geomarker.cpp +++ b/qtvplugin_geomarker/qtvplugin_geomarker.cpp @@ -1,4 +1,4 @@ -#include "qtvplugin_geomarker.h" +#include "qtvplugin_geomarker.h" #include "ui_qtvplugin_geomarker.h" #include #include @@ -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"< #include @@ -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 )) { diff --git a/qtwidget_planetosm_designer/CMakeLists.txt b/qtwidget_planetosm_designer/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..259ac2dc151024694dd8698ed6d6c52e1eaf6886 --- /dev/null +++ b/qtwidget_planetosm_designer/CMakeLists.txt @@ -0,0 +1,35 @@ +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 + +) diff --git a/test_container/CMakeLists.txt b/test_container/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ffe445ad0b084a375d7614e003c670e7d6ec79be --- /dev/null +++ b/test_container/CMakeLists.txt @@ -0,0 +1,77 @@ +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 +) + +