project( desq-widgets ) cmake_minimum_required( VERSION 3.1 ) set( PROJECT_VERSION 1.0.0 ) set( PROJECT_VERSION_MAJOR 1 ) set( PROJECT_VERSION_MINOR 0 ) set( PROJECT_VERSION_PATCH 0 ) set( PROJECT_VERSION_MAJOR_MINOR ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) add_compile_definitions(PROJECT_VERSION="${PROJECT_VERSION}") set( CMAKE_CXX_STANDARD 17 ) set( CMAKE_INCLUDE_CURRENT_DIR ON ) set( CMAKE_BUILD_TYPE Release ) find_package( PkgConfig REQUIRED ) pkg_check_modules( DESQGUI REQUIRED desq-gui ) add_definitions ( -Wall ) if ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) set( CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Location for installing the project" FORCE ) endif() if ( CMAKE_INSTALL_LIBDIR STREQUAL "" OR NOT DEFINED CMAKE_INSTALL_LIBDIR ) message( "-- CMAKE_INSTALL_LIBDIR not set. Trying pkg-config" ) pkg_get_variable( LIBDIR desq-core libdir ) set( CMAKE_INSTALL_LIBDIR ${LIBDIR} ) if ( LIBDIR STREQUAL "" OR NOT DEFINED LIBDIR ) message( "-- Unable to retrieve information from pkg-config." ) set( CMAKE_INSTALL_LIBDIR "@{CMAKE_INSTALL_PREFIX}/lib/x86_64-linux-gnu" ) message( "-- Using default value for CMAKE_INSTALL_LIBDIR: ${CMAKE_INSTALL_LIBDIR}" ) else() message( "-- CMAKE_INSTALL_LIBDIR set to: ${CMAKE_INSTALL_LIBDIR}" ) endif() endif() set( CMAKE_AUTOMOC ON ) set( CMAKE_AUTORCC ON ) set( CMAKE_AUTOUIC ON ) find_package( Qt5Core REQUIRED ) find_package( Qt5Gui REQUIRED ) find_package( Qt5Widgets REQUIRED ) find_package( Qt5Network REQUIRED ) include_directories( Application includes includes/desqui/ ) set( Headers includes/desqui/DesQActionBar.hpp includes/desqui/DesQApplication.hpp includes/desqui/DesQCircularProgress.hpp includes/desqui/DesQComboBox.hpp #includes/desqui/DesQDockPlugin.hpp includes/desqui/DesQDropDownPlugin.hpp includes/desqui/DesQFlexiLayout.hpp includes/desqui/DesQLayout.hpp includes/desqui/DesQLineEdit.hpp includes/desqui/DesQMainWindow.hpp includes/desqui/DesQShellPlugin.hpp includes/desqui/DesQUI.hpp includes/desqui/DesQUiUtils.hpp includes/desqui/DesQUsageGauge.hpp includes/desqui/DesQUsageGraph.hpp includes/desqui/DesQUsagePie.hpp ) set( Sources Application/DesQApplication.cpp MainWindow/DesQMainWindow.cpp MainWindow/DesQActionBar.cpp Layouts/DesQFlexiLayout.cpp Layouts/DesQLayout.cpp Progress/DesQCircularProgress.cpp Progress/DesQUsageGauge.cpp Progress/DesQUsageGraph.cpp Progress/DesQUsagePie.cpp Widgets/DesQLineEdit.cpp Widgets/DesQComboBox.cpp Utils/DesQUiUtils.cpp ) add_library( desq-widgets SHARED ${Sources} ${Headers} ) set_target_properties( desq-widgets PROPERTIES VERSION ${PROJECT_VERSION} ) set_target_properties( desq-widgets PROPERTIES SOVERSION ${PROJECT_VERSION} ) set_target_properties( desq-widgets PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR_MINOR} ) set_target_properties( desq-widgets PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} ) target_link_libraries( desq-widgets Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network ${DESQGUI_LIBRARIES} ) # configure_file( desqui.pc.in desqui.pc @ONLY ) install( TARGETS desq-widgets EXPORT LIBRARY ) # install( FILES ${Headers} DESTINATION include/desqui/ ) # install( FILES ${CMAKE_CURRENT_BINARY_DIR}/desqui.pc DESTINATION share/pkgconfig )