project( corestats )
cmake_minimum_required( VERSION 3.16 )

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} )
add_compile_definitions(VERSION_TEXT="${PROJECT_VERSION}")

set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_INCLUDE_CURRENT_DIR ON )
set( CMAKE_BUILD_TYPE Release )
set( CMAKE_AUTOMOC ON )
set( CMAKE_AUTORCC ON )
set( CMAKE_AUTOUIC ON )

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( Qt6Gui REQUIRED )
find_package( Qt6Widgets REQUIRED )
find_package( Qt6DBus REQUIRED )
find_package( Qt6Network REQUIRED )

set( SOURCES
    src/main.cpp
    src/pbattery.h
    src/pbattery.cpp
    src/pdisplay.h
    src/pdisplay.cpp
    src/pdrives.h
    src/pdrives.cpp
    src/pgeneral.h
    src/pgeneral.cpp
    src/pnetwork.h
    src/pnetwork.cpp
    src/presources.h
    src/presources.cpp
    src/corestats.h
    src/corestats.cpp
    src/psysmonitor.h
    src/psysmonitor.cpp
    src/settings.h
    src/settings.cpp
    src/usagegraph.h
    src/usagegraph.cpp
)

set( UIS
    src/pbattery.ui
    src/pdisplay.ui
    src/pdrives.ui
    src/pgeneral.ui
    src/pnetwork.ui
    src/presources.ui
    src/corestats.ui
    src/psysmonitor.ui
)


add_executable( corestats ${SOURCES} ${UIS} )
target_link_libraries ( corestats  Qt6::Core Qt6::Gui Qt6::Widgets Qt6::DBus Qt6::Network cprime-widgets cprime-core csys sensors )

install( TARGETS corestats DESTINATION bin )
install( FILES cc.cubocore.CoreStats.desktop DESTINATION share/applications )
install( FILES cc.cubocore.CoreStats.svg DESTINATION share/icons/hicolor/scalable/apps/ )
