aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt139
1 files changed, 54 insertions, 85 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b03ef737..ed157d2f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,17 +2,10 @@ cmake_minimum_required(VERSION 3.0.0)
cmake_policy(VERSION 3.0.0)
project(hardinfo2)
-set(HARDINFO2_VERSION "2.0.15")
+set(HARDINFO2_VERSION "2.0.17")
option(HARDINFO2_GTK3 "Build for GTK3 (0/off for GTK2)" 1)
-option(HARDINFO2_LIBSOUP3 "Build for libsoup-3.0(EXPERIMENTAL) (0/off for libsoup-2.4)" 0)
-
-#old/unused deprecated - lets us know if anyone uses these below
-set(DISTRO "" CACHE STRING "Distro build version eg. 1.el(rpm) or 1(deb)")
-set(MAINTAINER "" CACHE STRING "Distro maintainer 'name <email>'")
-set(OVRARCH "" CACHE STRING "Override HARDINFO2_ARCH value")
-set(OVRCPUINFO "" CACHE STRING "Specify a different file for /proc/cpuinfo")
-set(OVRDTRROOT "" CACHE STRING "Specify a different path for /proc/device-tree")
+option(HARDINFO2_LIBSOUP3 "Build for libsoup-3.0 (0/off for libsoup-2.4)" 1)
SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
include(GNUInstallDirs)
@@ -57,17 +50,6 @@ else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
endif()
-if (OVRARCH)
- set(HARDINFO2_ARCH ${OVRARCH})
-endif()
-if (OVRCPUINFO)
- add_definitions(-DPROC_CPUINFO=${OVRCPUINFO})
- message(STATUS "/proc/cpuinfo override: ${OVRCPUINFO}")
-endif()
-if (OVRDTRROOT)
- add_definitions(-DDTR_ROOT=${OVRDTRROOT})
- message(STATUS "/proc/device-tree override: ${OVRDTRROOT}")
-endif()
add_definitions(-DLOCALEDIR="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALEDIR}")
message(STATUS "LOCALEDIR = ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LOCALEDIR}")
@@ -83,8 +65,7 @@ add_definitions("-Wformat-security")
set(PACKAGE_LIBSOUP2_MINVERSION 2.42)
set(PACKAGE_LIBGLIB2_MINVERSION 2.24)
-###################################DISTRO CHANGES###############################
-#Please add all distro relates stuff here
+#########################CPack PACKAGING SETUP###############################
set(RPM 0)
file(STRINGS /etc/os-release distro REGEX "^NAME=")
string(REGEX REPLACE "NAME=" "" distro "${distro}")
@@ -93,11 +74,18 @@ string(REGEX REPLACE "/" "" distro "${distro}")
string(REGEX REPLACE " " "" distro "${distro}")
file(STRINGS /etc/os-release disversion REGEX "^VERSION_ID=")
string(REGEX REPLACE "VERSION_ID=" "" disversion "${disversion}")
+string(COMPARE EQUAL "${disversion}" "" result)
+if(result)
+ #sid/rawhide with no version - use project name
+ message("-- Found no distro version - Using codename")
+ file(STRINGS /etc/os-release disversion REGEX "^VERSION_CODENAME=")
+ string(REGEX REPLACE "VERSION_CODENAME=" "" disversion "99_${disversion}")
+endif()
string(REGEX REPLACE "\"" "" disversion "${disversion}")
string(REGEX REPLACE "/" "" disversion "${disversion}")
string(REGEX REPLACE " " "" disversion "${disversion}")
#RPM Distro's
-if(${distro} MATCHES "Alma*" OR ${distro} MATCHES "Rocky*" OR ${distro} MATCHES "Fedora*" OR ${distro} MATCHES "Red*" OR ${distro} MATCHES "CentOS*" OR ${distro} MATCHES "Oracle*" OR ${distro} MATCHES "openSUSE*")
+if(${distro} MATCHES "Alma*" OR ${distro} MATCHES "Rocky*" OR ${distro} MATCHES "Fedora*" OR ${distro} MATCHES "Red*" OR ${distro} MATCHES "CentOS*" OR ${distro} MATCHES "Oracle*" OR ${distro} MATCHES "openSUSE*" OR ${distro} MATCHES "SUSE*")
set(RPM 1)
endif()
#Package architecture
@@ -111,83 +99,72 @@ else()
set(PACKAGE_ARCHITECTURE "_amd64")
endif()
endif()
-#Package Distro build version - part of package name
set(PACKAGE_DISTRO ${HARDINFO2_VERSION}-${distro}-${disversion}${CPACK_SYSTEM_NAME})
SET(CPACK_PACKAGE_VERSION ${HARDINFO2_VERSION})
-if(DISTRO)
- message("-- DISTRO BUILD")
- string(REGEX REPLACE "[.].*" "" DISTRO_BUILD_VER ${DISTRO})
- set(CPACK_PACKAGE_VERSION "${HARDINFO2_VERSION}-${DISTRO_BUILD_VER}")
- set(PACKAGE_DISTRO "${HARDINFO2_VERSION}-${DISTRO}")
- if(${DISTRO_BUILD_VER} MATCHES "src")
- SET(CPACK_RPM_USER_BINARY_SPECFILE "hardinfo2.spec")
- set(CPACK_PACKAGE_VERSION "${HARDINFO2_VERSION}")
- set(PACKAGE_DISTRO "${HARDINFO2_VERSION}")
- endif()
- if(${HARDINFO2_GTK3})
- else()
- message(FATAL_ERROR "Distro-Building not supported with GTK2!!")
- endif()
- if(MAINTAINER)
- set(PACKAGE_MAINTAINER ${MAINTAINER})
- else()
- set(PACKAGE_MAINTAINER "hwspeedy <hardinfo2@bigbear.dk>")
- endif()
-else()
- set(PACKAGE_MAINTAINER "hwspeedy <hardinfo2@bigbear.dk>")
-endif()
#Put it together
string(REPLACE " " "${PACKAGE_DELIMITER}" CPACK_PACKAGE_FILE_NAME "hardinfo2${PACKAGE_DELIMITER}${PACKAGE_DISTRO}${PACKAGE_ARCHITECTURE}")
-if(${RPM})
- string(REPLACE " " "-" CPACK_SOURCE_PACKAGE_FILE_NAME "hardinfo2-${PACKAGE_DISTRO}")
-else()
- string(REPLACE " " "_" CPACK_SOURCE_PACKAGE_FILE_NAME "hardinfo2-${HARDINFO2_VERSION}")
-endif()
-message("-- Found Package Target ${CPACK_PACKAGE_FILE_NAME}")
+string(REPLACE " " "${PACKAGE_DELIMITER}" CPACK_SOURCE_PACKAGE_FILE_NAME "hardinfo2${PACKAGE_DELIMITER}${PACKAGE_DISTRO}${PACKAGE_ARCHITECTURE}")
message("-- Found Package Version ${CPACK_PACKAGE_VERSION}")
+message("-- Found distro description ${distro}${disversion}")
#flavour output
set(HARDINFO2_OS ${distro})
-# currently all RPM flavours uses libsoup-2.4
-if(${RPM})
- set(HARDINFO2_LIBSOUP3 0)
+#fedora ->35
+if(${disversion} LESS 35.99)
+ if(${distro} MATCHES "Fedora*")
+ message("Fedora ->35 - LS24")
+ set(HARDINFO2_LIBSOUP3 0)
+ endif()
endif()
-#oracle 6
-if(${distro}${disversion} MATCHES "Oracle6*")
+#centos/redhat/oracle/opensuse/suse ->9
+if(${disversion} LESS 9.99)
+ if(${distro} MATCHES "Red*" OR ${distro} MATCHES "CentOS*" OR ${distro} MATCHES "Oracle*" OR ${distro} MATCHES "openSUSE*" OR ${distro} MATCHES "Alma*" OR ${distro} MATCHES "Rocky*")
+ message("Centos/Redhat/oracle/opensuse/suse/rocky/alma ->9 - LS24")
set(HARDINFO2_LIBSOUP3 0)
+ endif()
+endif()
+
+#centos/redhat/oracle/opensuse/suse 6
+if(${disversion} LESS 6.99)
+ if((${distro} MATCHES "Red*" OR ${distro} MATCHES "CentOS*" OR ${distro} MATCHES "Oracle*" OR ${distro} MATCHES "openSUSE*" OR ${distro} MATCHES "SUSE*"))
+ message("RPM EL6 - GTK2 - deprecated - support will end at any time")
+ message("RPM EL6 - LS24 - deprecated version 2.34.3 - but ok")
set(HARDINFO2_GTK3 0)
- #old deprecated version - but ok
set(PACKAGE_LIBSOUP2_MINVERSION 2.34.3)
+ endif()
endif()
#debian 7
if(${distro}${disversion} MATCHES "DebianGNULinux7")
- set(HARDINFO2_LIBSOUP3 0)
+ message("DEB 7 - GTK2 to avoid c11 for ubergraph - deprecated - support will end at any time")
+ message("DEB 7 - LS24 - deprecated version 2.34.3 - but ok")
set(HARDINFO2_GTK3 0)
- #old deprecated version - but ok
set(PACKAGE_LIBSOUP2_MINVERSION 2.34.3)
endif()
-#debian 8
-if(${distro}${disversion} MATCHES "DebianGNULinux8")
+#debian ->11
+if(${disversion} LESS 11.99)
+ if(${distro} MATCHES "DebianGNULinux")
+ message("DEB ->11 - LS24")
set(HARDINFO2_LIBSOUP3 0)
+ endif()
endif()
#ubuntu 20.04
-if(${distro}${disversion} MATCHES "Ubuntu20.04")
+if(${disversion} LESS 20.99)
+ if(${distro} MATCHES "Ubuntu")
+ message("Ubuntu ->20.xx - LS24")
set(HARDINFO2_LIBSOUP3 0)
+ endif()
endif()
-#Debian 11
-if(${distro}${disversion} MATCHES "DebianGNULinux11")
- set(HARDINFO2_LIBSOUP3 0)
-endif()
#Fedora 39 - bug with man pages - upgrade cmake to 3.28.x
################################################################################
+
if(${CMAKE_BUILD_TYPE} MATCHES [Dd]ebug)
set(HARDINFO2_DEBUG 1)
if(${distro}${disversion} MATCHES "DebianGNULinux7")
@@ -208,7 +185,7 @@ else()
pkg_check_modules(GTK REQUIRED gtk+-2.0>=2.10 gthread-2.0>=2.10 gmodule-export-2.0>=2.10)
endif()
-if (HARDINFO2_LIBSOUP3)
+if (${HARDINFO2_LIBSOUP3})
pkg_check_modules(LIBSOUP REQUIRED libsoup-3.0>=3.00)
else()
pkg_check_modules(LIBSOUP REQUIRED libsoup-2.4>=${PACKAGE_LIBSOUP2_MINVERSION})
@@ -305,7 +282,7 @@ set(MODULE_network_SOURCES
modules/network/nfs.c
modules/network/samba.c
)
-set(MODULE_benchmark_SOURCES_GTKANY
+set(MODULE_benchmark_SOURCES
modules/benchmark.c
modules/benchmark/bench_util.c
modules/benchmark/blowfish.c
@@ -322,16 +299,9 @@ set(MODULE_benchmark_SOURCES_GTKANY
modules/benchmark/zlib.c
modules/benchmark/sysbench.c
modules/benchmark/iperf3.c
-)
-set(MODULE_benchmark_SOURCES_GTK2
modules/benchmark/drawing.c
modules/benchmark/guibench.c
)
-if (HARDINFO2_GTK3)
- set(MODULE_benchmark_SOURCES ${MODULE_benchmark_SOURCES_GTKANY})
-else()
- set(MODULE_benchmark_SOURCES ${MODULE_benchmark_SOURCES_GTKANY} ${MODULE_benchmark_SOURCES_GTK2})
-endif()
set_source_files_properties(
modules/benchmark/blowfish.c
@@ -496,7 +466,7 @@ configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h @ONLY)
configure_file(hardinfo2.desktop.cmake ${CMAKE_BINARY_DIR}/hardinfo2.desktop @ONLY)
install(TARGETS hardinfo2 ${HARDINFO2_MODULES}
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/hardinfo2/modules
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
@@ -522,8 +492,8 @@ install(FILES pixmaps/hardinfo2.png
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
-########################PACKAGE BUILDING FOR DISTROS###########################
-#Please update here for building packages
+########################CPack PACKAGE BUILDING###########################
+
SET(CPACK_PACKAGE_HOMEPAGE_URL "https://www.hardinfo2.org")
if(${RPM})
set(CPACK_PACKAGING_INSTALL_PREFIX "/usr")
@@ -540,14 +510,13 @@ endif()
#RPM
SET(CPACK_RPM_PACKAGE_OBSOLETES "hardinfo")
-SET(CPACK_RPM_PACKAGE_MAINTAINER ${PACKAGE_MAINTAINER})
+SET(CPACK_RPM_PACKAGE_MAINTAINER "hwspeedy <hardinfo2@bigbear.dk>")
SET(CPACK_RPM_PACKAGE_DESCRIPTION "Hardinfo2 - System Information and Benchmark")
SET(CPACK_RPM_PACKAGE_RECOMMENDS "sysbench, udisks2, mesa-utils, lsscsi, lm-sensors, xdg-utils, iperf3")
SET(CPACK_RPM_PACKAGE_LICENSE "GPL2+")
SET(CPACK_RPM_PACKAGE_HOMEPAGE "https://github.com/hardinfo2/hardinfo2")
SET(CPACK_RPM_PACKAGE_URL "https://www.hardinfo2.org")
-#SET(CPACK_RPM_SOURCE_PKG_BUILD_PARAMS "-DDISTRO=1")
-if(HARDINFO2_LIBSOUP3)
+if(${HARDINFO2_LIBSOUP3})
SET(PACKAGE_LS "libsoup (>=3.0)")
else()
SET(PACKAGE_LS "libsoup (>=${PACKAGE_LIBSOUP2_MINVERSION})")
@@ -562,12 +531,12 @@ SET(CPACK_RPM_PACKAGE_DEPENDS "libjson-glib-1.0-0, zlib, ${PACKAGE_LS}, ${PACKAG
#DEB
SET(CPACK_DEBIAN_PACKAGE_REPLACES "hardinfo")
SET(CPACK_DEBIAN_PACKAGE_BREAKS "hardinfo")
-SET(CPACK_DEBIAN_PACKAGE_MAINTAINER ${PACKAGE_MAINTAINER})
+SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "hwspeedy <hardinfo2@bigbear.dk>")
SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Hardinfo2 - System Information and Benchmark")
SET(CPACK_DEBIAN_PACKAGE_RECOMMENDS "sysbench, udisks2, mesa-utils, lsscsi, lm-sensors, xdg-utils, iperf3")
SET(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://github.com/hardinfo2/hardinfo2")
-if(HARDINFO2_LIBSOUP3)
- SET(PACKAGE_LS "libsoup-3.0.0 (>=3.0)")
+if(${HARDINFO2_LIBSOUP3})
+ SET(PACKAGE_LS "libsoup-3.0-0 (>=3.0)")
else()
SET(PACKAGE_LS "libsoup2.4-1 (>=${PACKAGE_LIBSOUP2_MINVERSION})")
if(${distro}${disversion} MATCHES "Debian GNU/Linux11")