cmake_minimum_required( VERSION 3.16 ) project( csys ) set( PROJECT_VERSION 5.0.0 ) set( PROJECT_VERSION_MAJOR 5 ) set( PROJECT_VERSION_MINOR 0 ) set( PROJECT_VERSION_PATCH 0 ) set( PROJECT_VERSION_MAJOR_MINOR ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) set( CMAKE_CXX_STANDARD 17 ) set( CMAKE_INCLUDE_CURRENT_DIR ON ) set( CMAKE_AUTOMOC ON ) set( CMAKE_BUILD_TYPE Release ) add_definitions ( -Wall ) if ( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT ) set( CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Location for installing the project" FORCE ) endif() find_package ( Qt6Core REQUIRED ) find_package ( Qt6Network REQUIRED ) find_package ( Qt6DBus REQUIRED ) set ( csys_HDRS csys/cpuinfo.h csys/networkinfo.h csys/battery.h csys/diskinfo.h csys/memoryinfo.h csys/systeminfo.h csys/fileutil.h csys/infomanager.h libcsys_global.h ) set ( csys_SRCS csys/cpuinfo.cpp csys/diskinfo.cpp csys/memoryinfo.cpp csys/networkinfo.cpp csys/systeminfo.cpp csys/fileutil.cpp csys/battery.cpp csys/infomanager.cpp csys/power.cpp csys/storageinfo.cpp ) set ( csys_MOCS csys/power.h csys/storageinfo.h ) QT6_WRAP_CPP(MOCS ${csys_MOCS}) configure_file( pkgconfig/csys.pc.in csys.pc @ONLY ) add_library ( csys SHARED ${csys_SRCS} ${MOCS} ) set_target_properties( csys PROPERTIES VERSION ${PROJECT_VERSION} ) set_target_properties( csys PROPERTIES SOVERSION ${PROJECT_VERSION} ) set_target_properties( csys PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR_MINOR} ) set_target_properties( csys PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} ) target_link_libraries ( csys Qt6::Core Qt6::DBus Qt6::Network ) install( TARGETS csys EXPORT LIBRARY ) install( FILES ${csys_HDRS} ${csys_MOCS} DESTINATION include/csys/ ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/csys.pc DESTINATION share/pkgconfig )