diff options
author | Burt P <pburt0@gmail.com> | 2017-07-25 06:24:47 -0500 |
---|---|---|
committer | Leandro Pereira <leandro@hardinfo.org> | 2017-07-30 10:16:42 -0700 |
commit | 03184de73de4adf8fcba09b8eac6b8c0a3f06aab (patch) | |
tree | 934ffbe93bd846ac95a1c57f2fed8871ee3b6e47 /CMakeLists.txt | |
parent | 6f8cedca0671ab68514352c64579546547804475 (diff) |
GTK3 updates
* Use gtk_widget_get_window() instead of ->window
cmake:
* add option to build against gtk3 `-DHARDINFO_GTK3=1`
* combine hardinfo-shell static library and hardinfo
* disable guibench for gtk3
hardinfo/util.c:
* widget_set_cursor() gtk3 changes
* For now, the whole function tree_view_save_image() is disabled
for gtk3.
shell/shell.c:
* add gtk_notebook_set_page() compatibility macro if not defined
* shell_summary_add_item() fixes
* Disable RANGE_GET_VALUE() RANGE_SET_VALUE() macros for GTK3. This
is a nigtmare onion to try and peel.
shell/callbacks.c:
* gtk_about_dialog_set_name() -> gtk_about_dialog_set_program_name()
after GTK+2.12.
shell/loadgraph.c:
* builds, but not yet functioning under gtk3
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 42 |
1 files changed, 28 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index ec1397be..04bc34c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ 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") @@ -73,7 +74,15 @@ 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() @@ -145,7 +154,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 @@ -154,13 +163,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_network_SOURCES_GTK2}) +endif() set_source_files_properties( modules/benchmark/blowfish.c @@ -176,16 +192,6 @@ 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 - shell/syncmanager.c -) add_executable(hardinfo hardinfo/binreloc.c hardinfo/expr.c @@ -193,11 +199,19 @@ add_executable(hardinfo hardinfo/socket.c hardinfo/util.c hardinfo/vendor.c + shell/callbacks.c + shell/iconcache.c + shell/loadgraph.c + shell/menu.c + shell/report.c + shell/shell.c + shell/stock.c + shell/syncmanager.c ) + target_link_libraries(hardinfo ${GTK_LIBRARIES} ${LIBSOUP_LIBRARIES} - hardinfo-shell m ${ZLIB_LIBRARIES} ) |