diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,4 +1,5 @@ add_subdirectory(plugins) +add_subdirectory(widgets) configure_file( atcore_default_folders.h.in diff --git a/src/widgets/AtCoreWidgetsConfig.cmake.in b/src/widgets/AtCoreWidgetsConfig.cmake.in new file mode 100644 --- /dev/null +++ b/src/widgets/AtCoreWidgetsConfig.cmake.in @@ -0,0 +1,7 @@ +@PACKAGE_INIT@ +include(CMakeFindDependencyMacro) + +find_dependency(Qt5Widgets "@REQUIRED_QT_VERSION@") +find_dependency(Qt5Charts "@REQUIRED_QT_VERSION@") + +include("${CMAKE_CURRENT_LIST_DIR}/AtCoreWidgetsTargets.cmake") diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/src/widgets/CMakeLists.txt @@ -0,0 +1,63 @@ +find_package(Qt5 REQUIRED COMPONENTS + Charts + Widgets +) + +set(widgetsLIB_SRCS + about.cpp + axiscontrol.cpp + commandwidget.cpp + logwidget.cpp + movementwidget.cpp + plotwidget.cpp + printwidget.cpp + sdwidget.cpp + statuswidget.cpp + temperaturewidget.cpp + ) + +add_library(AtCoreWidgets SHARED ${widgetsLIB_SRCS}) + +if (APPLE) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11") +endif() + +target_link_libraries(AtCoreWidgets AtCore::AtCore Qt5::Core Qt5::Widgets Qt5::Charts) + +generate_export_header(AtCoreWidgets BASE_NAME atcorewidgets) +add_library(AtCore::AtCoreWidgets ALIAS AtCoreWidgets) + +target_include_directories(AtCoreWidgets INTERFACE "$") + +set_target_properties(AtCoreWidgets PROPERTIES VERSION ${ATCORE_VERSION_STRING} + SOVERSION ${ATCORE_SOVERSION} + EXPORT_NAME AtCoreWidgets +) + +ecm_generate_headers(ATCOREWIDGETS_CamelCase_HEADERS + HEADER_NAMES + About + AxisControl + CommandWidget + LogWidget + MovementWidget + PlotWidget + PrintWidget + SdWidget + StatusWidget + TemperatureWidget + REQUIRED_HEADERS ATCORE_HEADERS +) + +ecm_create_qm_loader(widgetsLib_SRCS atcore_qt) + +install(FILES + ${ATCOREWIDGET_CamelCase_HEADERS} + DESTINATION ${KDE_INSTALL_INCLUDEDIR}/AtCore +) + +install(TARGETS AtCoreWidgets EXPORT AtCoreTargets ${KF5_INSTALL_TARGETS_DEFAULT_ARGS}) + +include(ECMGeneratePriFile) +ecm_generate_pri_file(BASE_NAME AtCoreWidgets LIB_NAME AtCoreWidgets DEPS "Qt5Core Qt5Widgets Qt5Charts" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include/AtCore) +install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff --git a/testclient/widgets/about.h b/src/widgets/about.h rename from testclient/widgets/about.h rename to src/widgets/about.h diff --git a/testclient/widgets/about.cpp b/src/widgets/about.cpp rename from testclient/widgets/about.cpp rename to src/widgets/about.cpp diff --git a/testclient/widgets/axiscontrol.h b/src/widgets/axiscontrol.h rename from testclient/widgets/axiscontrol.h rename to src/widgets/axiscontrol.h diff --git a/testclient/widgets/axiscontrol.cpp b/src/widgets/axiscontrol.cpp rename from testclient/widgets/axiscontrol.cpp rename to src/widgets/axiscontrol.cpp diff --git a/testclient/widgets/commandwidget.h b/src/widgets/commandwidget.h rename from testclient/widgets/commandwidget.h rename to src/widgets/commandwidget.h diff --git a/testclient/widgets/commandwidget.cpp b/src/widgets/commandwidget.cpp rename from testclient/widgets/commandwidget.cpp rename to src/widgets/commandwidget.cpp diff --git a/testclient/widgets/logwidget.h b/src/widgets/logwidget.h rename from testclient/widgets/logwidget.h rename to src/widgets/logwidget.h diff --git a/testclient/widgets/logwidget.cpp b/src/widgets/logwidget.cpp rename from testclient/widgets/logwidget.cpp rename to src/widgets/logwidget.cpp diff --git a/testclient/widgets/movementwidget.h b/src/widgets/movementwidget.h rename from testclient/widgets/movementwidget.h rename to src/widgets/movementwidget.h diff --git a/testclient/widgets/movementwidget.cpp b/src/widgets/movementwidget.cpp rename from testclient/widgets/movementwidget.cpp rename to src/widgets/movementwidget.cpp diff --git a/testclient/widgets/plotwidget.h b/src/widgets/plotwidget.h rename from testclient/widgets/plotwidget.h rename to src/widgets/plotwidget.h diff --git a/testclient/widgets/plotwidget.cpp b/src/widgets/plotwidget.cpp rename from testclient/widgets/plotwidget.cpp rename to src/widgets/plotwidget.cpp diff --git a/testclient/widgets/printwidget.h b/src/widgets/printwidget.h rename from testclient/widgets/printwidget.h rename to src/widgets/printwidget.h diff --git a/testclient/widgets/printwidget.cpp b/src/widgets/printwidget.cpp rename from testclient/widgets/printwidget.cpp rename to src/widgets/printwidget.cpp diff --git a/testclient/widgets/sdwidget.h b/src/widgets/sdwidget.h rename from testclient/widgets/sdwidget.h rename to src/widgets/sdwidget.h diff --git a/testclient/widgets/sdwidget.cpp b/src/widgets/sdwidget.cpp rename from testclient/widgets/sdwidget.cpp rename to src/widgets/sdwidget.cpp diff --git a/testclient/widgets/statuswidget.h b/src/widgets/statuswidget.h rename from testclient/widgets/statuswidget.h rename to src/widgets/statuswidget.h diff --git a/testclient/widgets/statuswidget.cpp b/src/widgets/statuswidget.cpp rename from testclient/widgets/statuswidget.cpp rename to src/widgets/statuswidget.cpp diff --git a/testclient/widgets/temperaturewidget.h b/src/widgets/temperaturewidget.h rename from testclient/widgets/temperaturewidget.h rename to src/widgets/temperaturewidget.h diff --git a/testclient/widgets/temperaturewidget.cpp b/src/widgets/temperaturewidget.cpp rename from testclient/widgets/temperaturewidget.cpp rename to src/widgets/temperaturewidget.cpp diff --git a/testclient/CMakeLists.txt b/testclient/CMakeLists.txt --- a/testclient/CMakeLists.txt +++ b/testclient/CMakeLists.txt @@ -8,7 +8,6 @@ ) include_directories(../src) -add_subdirectory(widgets) include_directories(${CMAKE_CURRENT_BINARY_DIR}) set(AtCoreTestClient_SRCS @@ -46,7 +45,7 @@ install(TARGETS atcore-gui BUNDLE DESTINATION bin) endif() -target_link_libraries(atcore-gui AtCoreTestWidgets AtCore::AtCore Qt5::Widgets Qt5::Charts) +target_link_libraries(atcore-gui AtCore::AtCoreWidgets AtCore::AtCore Qt5::Widgets Qt5::Charts) diff --git a/testclient/widgets/CMakeLists.txt b/testclient/widgets/CMakeLists.txt deleted file mode 100644 --- a/testclient/widgets/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -set(widgets_SRCS - about.cpp - axiscontrol.cpp - commandwidget.cpp - logwidget.cpp - movementwidget.cpp - plotwidget.cpp - printwidget.cpp - sdwidget.cpp - statuswidget.cpp - temperaturewidget.cpp - ) - -add_library(AtCoreTestWidgets STATIC ${widgets_SRCS}) -if (APPLE) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11") -endif() -target_link_libraries(AtCoreTestWidgets Qt5::Core Qt5::Widgets Qt5::Charts)