gnucash unstable: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Tue Jan 23 19:09:39 EST 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/1fc46fe1 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/d26133a3 (commit)
	from  https://github.com/Gnucash/gnucash/commit/f256b3bd (commit)



commit 1fc46fe140dad55f44155be1e3baba2212002772
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Jan 23 16:04:28 2018 -0800

    Fix some dependency-checking failures.
    
    Thanks to Robert Merkel for reporting them.
    * Build gnucash-design.info if makeinfo is available, but don't complain
      if it isn't.
    * Fail Cmake if LibXSLT and xsltproc aren't found. Those are required to
      build the gschemas and GnuCash won't work without them.
    * Fix the WebKit detection so that it isn't faked out into thinking it has
      WebKit2Gtk-4.0 when it's WebKit2Gtk-3.0 and cmake is run with a
      CMakeCache.txt present.

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88b9759..dc05e39 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -192,16 +192,23 @@ GNC_PKG_CHECK_MODULES (GTHREAD REQUIRED gthread-2.0>=2.20)
 GNC_PKG_CHECK_MODULES (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
 GNC_PKG_CHECK_MODULES (LIBXSLT REQUIRED libxslt)
 IF (WIN32 OR APPLE)
-    GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkitgtk-3.0)
-    SET(WEBKIT1 1)
+    GNC_PKG_CHECK_MODULES (WEBKIT1 REQUIRED webkitgtk-3.0)
 ELSE (WIN32 OR APPLE)
-  GNC_PKG_CHECK_MODULES (WEBKIT webkit2gtk-4.0)
-  IF (NOT WEBKIT_FOUND)
-    GNC_PKG_CHECK_MODULES (WEBKIT REQUIRED webkit2gtk-3.0)
+  GNC_PKG_CHECK_MODULES (WEBKIT2_4 webkit2gtk-4.0)
+  IF (NOT WEBKIT2_4_FOUND)
+    GNC_PKG_CHECK_MODULES (WEBKIT2_3 REQUIRED webkit2gtk-3.0)
     SET(WEBKIT2_3 1)
-  ELSE (NOT WEBKIT_FOUND)
+    SET(WEBKIT_CFLAGS ${WEBKIT2_3_CFLAGS})
+    SET(WEBKIT_INCLUDE_DIRS ${WEBKIT2_3_INCLUDE_DIRS})
+    SET(WEBKIT_LDFLAGS ${WEBKIT2_3_LDFLAGS})
+    SET(WEBKIT_LIBRARIES ${WEBKIT2_3_LIBRARIES})
+  ELSE (NOT WEBKIT2_4_FOUND)
     SET(WEBKIT2_4 1)
-  ENDIF (NOT WEBKIT_FOUND)
+    SET(WEBKIT_CFLAGS ${WEBKIT2_4_CFLAGS})
+    SET(WEBKIT_INCLUDE_DIRS ${WEBKIT2_4_INCLUDE_DIRS})
+    SET(WEBKIT_LDFLAGS ${WEBKIT2_4_LDFLAGS})
+    SET(WEBKIT_LIBRARIES ${WEBKIT2_4_LIBRARIES})
+  ENDIF (NOT WEBKIT2_4_FOUND)
 ENDIF (WIN32 OR APPLE)
 
 IF (WITH_GNUCASH)
@@ -386,8 +393,11 @@ SET(GNC_PKG_CONFIG_EXE ${PKG_CONFIG_EXECUTABLE})
 FIND_PACKAGE(LibXslt)
 
 IF (NOT LIBXSLT_FOUND)
-   MESSAGE(SEND_ERROR "libxslt library not found.")
+   MESSAGE(FATAL_ERROR "libxslt library not found.")
 ENDIF(NOT LIBXSLT_FOUND)
+if (${LIBXSLT_XSLTPROC_EXECUTABLE} STREQUAL "LIBXSLT_XSLTPROC_EXECUTABLE-NOTFOUND")
+  message(FATAL_ERROR "xsltproc executable not found")
+endif ()
 # ############################################################
 SET(PKG_CONFIG_EXECUTABLE ${GNC_PKG_CONFIG_EXE})
 
diff --git a/README.dependencies b/README.dependencies
index e2699ce..babe1c9 100644
--- a/README.dependencies
+++ b/README.dependencies
@@ -66,14 +66,14 @@ glib2			2.40.0
 gtk+3			3.14.0
 guile			2.2.0 or 2.0.0
 libxml2			2.5.10
-libxslt
+libxslt, including xsltproc
 ICU                                             International Compnents for
                                                 Unicode
 boost			1.50.0                  locale and regex libs must be
                                                 built with ICU support.
 swig			2.0.10			Only required to build from git
 						or SVN.
-webkit			webkitgtk-3.0 (Windows)
+webkit			webkitgtk-3.0 (Windows, Mac)
                         webkit2gtk-3.0 (Everything Else)
 
   optional
@@ -90,6 +90,14 @@ libofx			0.9.0			 OFX/QFX import
 python			2.4.0			 python bindings; headers
 						 required, not just binaries.
 
+makeinfo                                         Not really needed, it
+                                                 just builds the
+                                                 mostly obsolete
+                                                 design documentation
+                                                 (superceded for the
+                                                 most part in Doxygen
+                                                 docs).
+
   at runtime, required
   ---------------------
 a gsettings backend to store the gnucash global preferences in
diff --git a/libgnucash/doc/design/CMakeLists.txt b/libgnucash/doc/design/CMakeLists.txt
index bc5e5e5..091bd5e 100644
--- a/libgnucash/doc/design/CMakeLists.txt
+++ b/libgnucash/doc/design/CMakeLists.txt
@@ -13,10 +13,9 @@ SET(gnucash_design_TEXINFOS
   user-preferences.texi
 )
 
-
-EXECUTE_PROCESS(COMMAND date +%e OUTPUT_VARIABLE CURRENT_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
-EXECUTE_PROCESS(COMMAND date +%B OUTPUT_VARIABLE CURRENT_MONTH OUTPUT_STRIP_TRAILING_WHITESPACE)
-EXECUTE_PROCESS(COMMAND date +%Y OUTPUT_VARIABLE CURRENT_YEAR OUTPUT_STRIP_TRAILING_WHITESPACE)
+  EXECUTE_PROCESS(COMMAND date +%e OUTPUT_VARIABLE CURRENT_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
+  EXECUTE_PROCESS(COMMAND date +%B OUTPUT_VARIABLE CURRENT_MONTH OUTPUT_STRIP_TRAILING_WHITESPACE)
+  EXECUTE_PROCESS(COMMAND date +%Y OUTPUT_VARIABLE CURRENT_YEAR OUTPUT_STRIP_TRAILING_WHITESPACE)
 SET(UPDATED "${CURRENT_DATE} ${CURRENT_MONTH} ${CURRENT_YEAR}")
 SET(UPDATED_MONTH "${CURRENT_MONTH} ${CURRENT_YEAR}")
 
@@ -32,18 +31,21 @@ FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/stamp-vti ${VERSION_TEXI_IN})
 
 FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" TEXI_BINARY_DIR)
 FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/gnucash-design.texi" TEXI_SOURCE_FILE)
-
-IF(${CMAKE_VERSION} VERSION_GREATER 3.1)
-  ADD_CUSTOM_TARGET(gnucash-design-info ALL
-    COMMAND makeinfo -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
-    BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/gnucash-design.info
-    DEPENDS ${gnucash_design_TEXINFOS}
-  )
-ELSE()
-  ADD_CUSTOM_TARGET(gnucash-design-info ALL
-    COMMAND makeinfo -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
-    DEPENDS ${gnucash_design_TEXINFOS}
-  )
-ENDIF()
+find_program(MAKEINFO makeinfo)
+if (NOT ${MAKEINFO} STREQUAL "MAKEINFO-NOTFOUND")
+
+  IF(${CMAKE_VERSION} VERSION_GREATER 3.1)
+    ADD_CUSTOM_TARGET(gnucash-design-info ALL
+      COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
+      BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/gnucash-design.info
+      DEPENDS ${gnucash_design_TEXINFOS}
+      )
+  ELSE()
+    ADD_CUSTOM_TARGET(gnucash-design-info ALL
+      COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
+      DEPENDS ${gnucash_design_TEXINFOS}
+      )
+  ENDIF()
+endif (NOT ${MAKEINFO} STREQUAL "MAKEINFO-NOTFOUND")
 
 SET_DIST_LIST(doc_design_DIST CMakeLists.txt gnucash-design.texi ${gnucash_design_TEXINFOS})

commit d26133a37e522271157b52e1ea93c646fc92638f
Author: John Ralls <jralls at ceridwen.us>
Date:   Tue Jan 23 15:26:48 2018 -0800

    Define GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK if it isn't in Gdk.
    
    It was added in Gtk-3.14.

diff --git a/gnucash/gnome-utils/CMakeLists.txt b/gnucash/gnome-utils/CMakeLists.txt
index b3baf02..5c12e26 100644
--- a/gnucash/gnome-utils/CMakeLists.txt
+++ b/gnucash/gnome-utils/CMakeLists.txt
@@ -34,6 +34,16 @@ ADD_CUSTOM_COMMAND(
 
 ADD_CUSTOM_TARGET(gnc-warnings-c DEPENDS ${GNC_WARNINGS_C})
 
+#GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
+check_symbol_exists(GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK gdk/gdktypes.h have_mod_mask)
+if (NOT have_mod_mask)
+if (MAC_INTEGRATION)
+  add_definitions(-DGDK_MODIFIER_INTENT_DEFAULT_MOD_MASK=GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK|GDK_MOD2_MASK|GDK_SUPER_MASK|GDK_HYPER_MASK|GDK_META_MASK)
+else (MAC_INTEGRATION)
+  add_definitions(-DGDK_MODIFIER_INTENT_DEFAULT_MOD_MASK=GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK|GDK_SUPER_MASK|GDK_HYPER_MASK|GDK_META_MASK)
+endif (MAC_INTEGRATION)
+endif (NOT have_mod_mask)
+
 SET (gnome_utils_SOURCES
   account-quickfill.c
   assistant-xml-encoding.c
diff --git a/gnucash/register/register-gnome/CMakeLists.txt b/gnucash/register/register-gnome/CMakeLists.txt
index 9bcb78e..e057210 100644
--- a/gnucash/register/register-gnome/CMakeLists.txt
+++ b/gnucash/register/register-gnome/CMakeLists.txt
@@ -1,5 +1,15 @@
 ADD_SUBDIRECTORY(test)
 
+#GTK before 3.14 didn't have GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK
+check_symbol_exists(GDK_MODIFIER_INTENT_DEFAULT_MOD_MASK gdk/gdktypes.h have_mod_mask)
+if (NOT have_mod_mask)
+if (MAC_INTEGRATION)
+  add_definitions(-DGDK_MODIFIER_INTENT_DEFAULT_MOD_MASK=GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK|GDK_MOD2_MASK|GDK_SUPER_MASK|GDK_HYPER_MASK|GDK_META_MASK)
+else (MAC_INTEGRATION)
+  add_definitions(-DGDK_MODIFIER_INTENT_DEFAULT_MOD_MASK=GDK_SHIFT_MASK|GDK_CONTROL_MASK|GDK_MOD1_MASK|GDK_SUPER_MASK|GDK_HYPER_MASK|GDK_META_MASK)
+endif(MAC_INTEGRATION)
+endif(NOT have_mod_mask)
+
 SET (register_gnome_SOURCES
   gncmod-register-gnome.c
   combocell-gnome.c



Summary of changes:
 CMakeLists.txt                                 | 26 +++++++++++++------
 README.dependencies                            | 12 +++++++--
 gnucash/gnome-utils/CMakeLists.txt             | 10 +++++++
 gnucash/register/register-gnome/CMakeLists.txt | 10 +++++++
 libgnucash/doc/design/CMakeLists.txt           | 36 ++++++++++++++------------
 5 files changed, 67 insertions(+), 27 deletions(-)



More information about the gnucash-changes mailing list