diff --git a/CMakeLists.txt b/CMakeLists.txt index a6eeb7e..35ffac0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,86 +1,89 @@ project(AtCore) # 3.0 is needed to support CMAKE_AUTOUIC cmake_minimum_required(VERSION 3.0) find_package(ECM REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) include(KDECompilerSettings) include(KDEInstallDirs) include(KDECMakeSettings) include(ECMInstallIcons) include(FeatureSummary) include(GenerateExportHeader) include(ECMSetupVersion) include(CMakePackageConfigHelpers) include(ECMGenerateHeaders) find_package(Doxygen) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "AtCore" URL "https://projects.kde.org/projects/atcore") set(PROJECT_VERSION "16.08.0") set(KF5_DEP_VERSION "5.24.0") # handled by release scripts set(REQUIRED_QT_VERSION 5.4.0) add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_URL_CAST_FROM_STRING) set(CMAKE_AUTOMOC ON) option(BUILD_TEST_GUI "Build the Test Gui" ON) find_package(Qt5 REQUIRED COMPONENTS Core Test SerialPort Charts ) if(BUILD_TEST_GUI) add_subdirectory(testclient) endif() ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX ATCORE VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/atcore_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5AtCoreConfigVersion.cmake" SOVERSION 1 ) +if(APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11") +endif() if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ") endif() include_directories(${CMAKE_CURRENT_BINARY_DIR}) add_subdirectory(src) add_subdirectory(doc) set(CMAKECONFIG_INSTALL_DIR "${CMAKECONFIG_INSTALL_PREFIX}/KF5AtCore") configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF5AtCoreConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5AtCoreConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5AtCoreConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/KF5AtCoreConfigVersion.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) install(EXPORT KF5AtCoreTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5AtCoreTargets.cmake NAMESPACE KF5:: COMPONENT Devel ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/atcore_version.h" DESTINATION "${KF5_INCLUDE_INSTALL_DIR}" COMPONENT Devel ) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt index c7ee4d2..9bc2ef9 100644 --- a/src/plugins/CMakeLists.txt +++ b/src/plugins/CMakeLists.txt @@ -1,53 +1,53 @@ include_directories(..) set(RepetierPlugin_SRCS repetierplugin.cpp) add_library(repetier SHARED ${RepetierPlugin_SRCS}) target_link_libraries(repetier Qt5::Core KF5::AtCore) set(GrblPlugin_SRCS grblplugin.cpp) add_library(grbl SHARED ${GrblPlugin_SRCS}) target_link_libraries(grbl Qt5::Core KF5::AtCore) set(TeacupPlugin_SRCS teacupplugin.cpp) add_library(teacup SHARED ${TeacupPlugin_SRCS}) target_link_libraries(teacup Qt5::Core KF5::AtCore) set(MarlinPlugin_SRCS marlinplugin.cpp) add_library(marlin SHARED ${MarlinPlugin_SRCS}) target_link_libraries(marlin Qt5::Core KF5::AtCore) set(SprinterPlugin_SRCS sprinterplugin.cpp) add_library(sprinter SHARED ${SprinterPlugin_SRCS}) target_link_libraries(sprinter Qt5::Core KF5::AtCore) set(AprinterPlugin_SRCS aprinterplugin.cpp) add_library(aprinter SHARED ${AprinterPlugin_SRCS}) target_link_libraries(aprinter Qt5::Core KF5::AtCore) -if(WIN32) +if(WIN32 OR APPLE) install( TARGETS repetier grbl teacup marlin sprinter aprinter DESTINATION bin/plugins ) endif() if(UNIX AND NOT APPLE) install( TARGETS repetier grbl teacup marlin sprinter aprinter DESTINATION ${KDE_INSTALL_PLUGINDIR}/KAtCore ) endif() diff --git a/testclient/CMakeLists.txt b/testclient/CMakeLists.txt index 7990615..cfbc941 100644 --- a/testclient/CMakeLists.txt +++ b/testclient/CMakeLists.txt @@ -1,36 +1,44 @@ set(CMAKE_AUTOUIC ON) include_directories(../src) add_subdirectory(widgets) include_directories(${CMAKE_CURRENT_BINARY_DIR}) set(AtCoreTestClient_SRCS main.cpp mainwindow.cpp ) find_package(Qt5 REQUIRED COMPONENTS Core Test Widgets SerialPort ) +if (NOT APPLE) + add_executable(AtCoreTest ${AtCoreTestClient_SRCS}) -add_executable(AtCoreTest ${AtCoreTestClient_SRCS}) + install(TARGETS AtCoreTest RUNTIME DESTINATION bin) -target_link_libraries(AtCoreTest AtCoreTestWidgets KF5::AtCore Qt5::Widgets Qt5::Charts) + install(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/AtCoreTest.menu" + RENAME AtCoreTest + DESTINATION share/menu) + + install(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/AtCoreTest.png" + DESTINATION share/pixmaps) -install(TARGETS AtCoreTest RUNTIME DESTINATION bin) + install(FILES + "${CMAKE_CURRENT_SOURCE_DIR}/AtCoreTest.desktop" + DESTINATION share/applications) +else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11") + add_executable(AtCoreTest MACOSX_BUNDLE ${AtCoreTestClient_SRCS}) + install(TARGETS AtCoreTest BUNDLE DESTINATION bin) +endif() + +target_link_libraries(AtCoreTest AtCoreTestWidgets KF5::AtCore Qt5::Widgets Qt5::Charts) -install(FILES - "${CMAKE_CURRENT_SOURCE_DIR}/AtCoreTest.menu" - RENAME AtCoreTest - DESTINATION share/menu) -install(FILES - "${CMAKE_CURRENT_SOURCE_DIR}/AtCoreTest.png" - DESTINATION share/pixmaps) -install(FILES - "${CMAKE_CURRENT_SOURCE_DIR}/AtCoreTest.desktop" - DESTINATION share/applications) diff --git a/testclient/widgets/CMakeLists.txt b/testclient/widgets/CMakeLists.txt index 2786716..95295d6 100644 --- a/testclient/widgets/CMakeLists.txt +++ b/testclient/widgets/CMakeLists.txt @@ -1,7 +1,9 @@ set(widgets_SRCS plotwidget.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)