aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorSimon Quigley <tsimonq2@ubuntu.com>2017-08-16 04:32:39 -0500
committerSimon Quigley <tsimonq2@ubuntu.com>2017-08-16 04:32:39 -0500
commit9a9db98089717990cd5e0eef529f6bb0819ebe46 (patch)
treea9afaabce984d5fe552fa8bf1a9405db9bdd2699 /CMakeLists.txt
parent69a2124e9a081518297951256eb5c8d72d93361f (diff)
New upstream version 0.5.1+git20170815
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt125
1 files changed, 109 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ae29a99e..d4c60fec 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,6 +4,10 @@ cmake_policy(VERSION 2.6)
set(HARDINFO_VERSION "0.6-alpha")
option(HARDINFO_NOSYNC "Disable database sync via libsoup" 1)
+option(HARDINFO_GTK3 "Attempt to build for GTK3 (0/off for GTK2)" 0)
+set(OVRARCH "" CACHE STRING "Override HARDINFO_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")
SET( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" )
include(GNUInstallDirs)
@@ -20,8 +24,8 @@ endif()
if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "i[3-6]86")
set(HARDINFO_ARCH "x86")
elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "x86_64")
- set(HARDINFO_ARCH "x86_64")
-elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "ppc{32,64}")
+ set(HARDINFO_ARCH "x86")
+elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "(ppc|ppc32|ppc64|ppc64le)")
set(HARDINFO_ARCH "ppc")
elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "mips")
set(HARDINFO_ARCH "mips")
@@ -31,7 +35,7 @@ elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "sparc{32,64}")
set(HARDINFO_ARCH "sparc")
elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "arm.*")
set(HARDINFO_ARCH "arm")
-elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "aarch64*")
+elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "aarch64.*")
set(HARDINFO_ARCH "arm")
elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "ia64")
set(HARDINFO_ARCH "ia64")
@@ -41,12 +45,28 @@ elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "s390.*")
set(HARDINFO_ARCH "s390")
elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "m68k")
set(HARDINFO_ARCH "m68k")
-elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "sh{3,4}")
+elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "sh[3-5]")
set(HARDINFO_ARCH "sh")
+elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "(riscv|riscv32|riscv64)")
+ set(HARDINFO_ARCH "riscv")
else()
message(FATAL_ERROR "Unsupported architecture: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
endif()
+if (OVRARCH)
+ set(HARDINFO_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}/share/locale")
+message(STATUS "LOCALEDIR = ${CMAKE_INSTALL_PREFIX}/share/locale")
+
message(STATUS "Building HardInfo for architecture: ${HARDINFO_OS}-${HARDINFO_ARCH}")
add_definitions("-std=gnu89")
@@ -54,18 +74,30 @@ add_definitions("-std=gnu89")
add_subdirectory(po)
include(FindPkgConfig)
-pkg_check_modules(GTK REQUIRED gtk+-2.0>=2.10 glib-2.0>=2.10 gthread-2.0>=2.10 gmodule-export-2.0>=2.10)
+if (HARDINFO_GTK3)
+ message(STATUS "Building for GTK3 (experimental!)")
+ pkg_check_modules(GTK REQUIRED gtk+-3.0>=3.0 cairo>=1.0 cairo-png>=1.0 glib-2.0>=2.10 gthread-2.0>=2.10 gmodule-export-2.0>=2.10)
+ add_definitions(-DGTK_DISABLE_SINGLE_INCLUDES)
+else()
+ message(STATUS "Building for GTK2")
+ pkg_check_modules(GTK REQUIRED gtk+-2.0>=2.10 glib-2.0>=2.10 gthread-2.0>=2.10 gmodule-export-2.0>=2.10)
+endif()
+
if(NOT HARDINFO_NOSYNC)
pkg_check_modules(LIBSOUP libsoup-2.4>=2.24)
endif()
+include(FindZLIB REQUIRED)
+
include_directories(
${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/includes
${CMAKE_SOURCE_DIR}/includes/${HARDINFO_ARCH}
+ ${CMAKE_SOURCE_DIR}/deps/uber-graph/uber
${CMAKE_BINARY_DIR}
${GTK_INCLUDE_DIRS}
${LIBSOUP_INCLUDE_DIRS}
+ ${ZLIB_INCLUDE_DIRS}
)
link_directories(
${GTK_LIBRARY_DIRS}
@@ -83,6 +115,10 @@ set(HARDINFO_RESOURCES
"benchmark.data"
)
+set(HARDINFO_MANPAGES
+ "hardinfo.1"
+)
+
set(MODULE_computer_SOURCES
modules/computer.c
modules/computer/alsa.c
@@ -101,10 +137,13 @@ set(MODULE_computer_SOURCES
)
set(MODULE_devices_SOURCES
modules/devices.c
+ modules/devices/cpu_util.c
modules/devices/${HARDINFO_ARCH}/processor.c
modules/devices/battery.c
modules/devices/devmemory.c
modules/devices/dmi.c
+ modules/devices/devicetree.c
+ modules/devices/devicetree/dt_util.c
modules/devices/inputdevices.c
modules/devices/pci.c
modules/devices/printers.c
@@ -120,7 +159,7 @@ set(MODULE_network_SOURCES
modules/network/nfs.c
modules/network/samba.c
)
-set(MODULE_benchmark_SOURCES
+set(MODULE_benchmark_SOURCES_GTKANY
modules/benchmark.c
modules/benchmark/blowfish.c
modules/benchmark/cryptohash.c
@@ -129,12 +168,20 @@ set(MODULE_benchmark_SOURCES
modules/benchmark/fftbench.c
modules/benchmark/fft.c
modules/benchmark/fib.c
- modules/benchmark/guibench.c
modules/benchmark/md5.c
modules/benchmark/nqueens.c
modules/benchmark/raytrace.c
modules/benchmark/sha1.c
+ modules/benchmark/zlib.c
+)
+set(MODULE_benchmark_SOURCES_GTK2
+ modules/benchmark/guibench.c
)
+if (HARDINFO_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
@@ -150,16 +197,48 @@ foreach (_module ${HARDINFO_MODULES})
set_target_properties(${_module} PROPERTIES PREFIX "")
endforeach()
-add_library(hardinfo-shell STATIC
- shell/callbacks.c
- shell/iconcache.c
- shell/loadgraph.c
- shell/menu.c
- shell/report.c
- shell/shell.c
- shell/stock.c
+if (HARDINFO_GTK3)
+add_library(uber-graph STATIC
+ deps/uber-graph/uber/g-ring.c
+ deps/uber-graph/uber/uber-frame-source.c
+ deps/uber-graph/uber/uber-graph.c
+ deps/uber-graph/uber/uber-heat-map.c
+ deps/uber-graph/uber/uber-label.c
+ deps/uber-graph/uber/uber-line-graph.c
+ deps/uber-graph/uber/uber-range.c
+ deps/uber-graph/uber/uber-scale.c
+ deps/uber-graph/uber/uber-scatter.c
+ deps/uber-graph/uber/uber-timeout-interval.c
+ deps/uber-graph/uber/uber-window.c
+)
+endif()
+
+if (HARDINFO_GTK3)
+add_executable(hardinfo
+ hardinfo/binreloc.c
+ hardinfo/expr.c
+ hardinfo/hardinfo.c
+ hardinfo/socket.c
+ hardinfo/util.c
+ hardinfo/vendor.c
+ hardinfo/info.c
+ shell/callbacks.c
+ shell/iconcache.c
+ shell/menu.c
+ shell/report.c
+ shell/shell.c
+ shell/stock.c
shell/syncmanager.c
+ shell/loadgraph-uber.c
+)
+target_link_libraries(hardinfo
+ uber-graph
+ ${GTK_LIBRARIES}
+ ${LIBSOUP_LIBRARIES}
+ m
+ ${ZLIB_LIBRARIES}
)
+else()
add_executable(hardinfo
hardinfo/binreloc.c
hardinfo/expr.c
@@ -167,13 +246,23 @@ add_executable(hardinfo
hardinfo/socket.c
hardinfo/util.c
hardinfo/vendor.c
+ hardinfo/info.c
+ shell/callbacks.c
+ shell/iconcache.c
+ shell/menu.c
+ shell/report.c
+ shell/shell.c
+ shell/stock.c
+ shell/syncmanager.c
+ shell/loadgraph.c
)
target_link_libraries(hardinfo
${GTK_LIBRARIES}
${LIBSOUP_LIBRARIES}
- hardinfo-shell
m
+ ${ZLIB_LIBRARIES}
)
+endif()
configure_file(config.h.cmake ${CMAKE_BINARY_DIR}/config.h @ONLY)
configure_file(hardinfo.desktop.cmake ${CMAKE_BINARY_DIR}/hardinfo.desktop @ONLY)
@@ -201,3 +290,7 @@ install(DIRECTORY doc
PATTERN "*.{hlp,png}"
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
)
+install(FILES ${HARDINFO_MANPAGES}
+ DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/man/man1
+ PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+)