gnucash maint: Support CMake 3.0 for Debian Jessie

John Ralls jralls at code.gnucash.org
Thu Jan 14 12:58:51 EST 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/53b7c516 (commit)
	from  https://github.com/Gnucash/gnucash/commit/9b21c9e6 (commit)



commit 53b7c51632bf340d8d33151e7ff82c8f8c984f3b
Author: RobGowin <robgowin at gmail.com>
Date:   Wed Jan 13 10:45:29 2016 -0600

    Support CMake 3.0 for Debian Jessie

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5421497..799fcb8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -6,7 +6,7 @@
 IF (WIN32)
   CMAKE_MINIMUM_REQUIRED (VERSION 3.3.2)
 ELSE()
-  CMAKE_MINIMUM_REQUIRED (VERSION 3.1)
+  CMAKE_MINIMUM_REQUIRED (VERSION 3.0)
 ENDIF()
 
 PROJECT (Gnucash)
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 9589c7a..3a54d21 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -11,13 +11,17 @@ ENDIF(APPLE)
 
 
 IF (GNC_BUILD_AS_INSTALL)
+  SET(CMAKE_COMMAND_TMP "")
+  IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+    SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
+  ENDIF()
   SET(schema-targets aqb-gschema business-gnome-gschema csv-exp-gschema csv-imp-gschema
       generic-import-gschema gnome-gschema gnome-utils-gschema ofx-gschema qif-imp-gschema)
 
   SET(SCHEMA_DIRECTORY ${DATADIR_BUILD}/glib-2.0/schemas)
   ADD_CUSTOM_COMMAND(
     OUTPUT ${SCHEMA_DIRECTORY}/gschemas.compiled
-    COMMAND ${CMAKE_COMMAND} -E env ${GLIB_COMPILE_SCHEMAS} ${SCHEMA_DIRECTORY}
+    COMMAND ${CMAKE_COMMAND_TMP} ${GLIB_COMPILE_SCHEMAS} ${SCHEMA_DIRECTORY}
     DEPENDS ${schema-targets}
   )
 
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 6c532c3..1c6c9c2 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -21,11 +21,19 @@ IF (GNC_BUILD_AS_INSTALL)
   FILE(COPY ${doc_DATA} DESTINATION ${DATADIR_BUILD}/doc/gnucash)
 ENDIF()
 
-EXECUTE_PROCESS(
+IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+  EXECUTE_PROCESS(
     COMMAND ${CMAKE_COMMAND} -E  env date +"%B %Y"
     OUTPUT_VARIABLE DATE
     OUTPUT_STRIP_TRAILING_WHITESPACE
-)
+  )
+ELSE()
+  EXECUTE_PROCESS(
+    COMMAND date +"%B %Y"
+    OUTPUT_VARIABLE DATE
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+  )
+ENDIF()
 
 # Generate the tip of the day file.
 
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index 080aed6..7244925 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -11,23 +11,24 @@ SET (ALL_LINGUAS ${TP_LINGUAS} ${GC_LINGUAS} ${NEW_LINGUAS})
 
 SET (CATALOGS "")
 SET (BUILD_CATALOGS "")
+
+SET(CMAKE_COMMAND_TMP "")
+IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+  SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
+ENDIF()
+
 FOREACH(lingua ${ALL_LINGUAS})
   SET(_OUTPUT_FILE ${lingua}.gmo)
   LIST(APPEND CATALOGS ${_OUTPUT_FILE})
   ADD_CUSTOM_COMMAND(
       OUTPUT ${_OUTPUT_FILE}
-      COMMAND ${CMAKE_COMMAND} -E env ${MSGFMT} -o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
+      COMMAND ${CMAKE_COMMAND_TMP} ${MSGFMT} -o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
   )
   IF (GNC_BUILD_AS_INSTALL)
     SET(_BUILD_FILE_DIR ${DATADIR_BUILD}/locale/${lingua}/LC_MESSAGES)
     MAKE_DIRECTORY(${_BUILD_FILE_DIR})
     SET(_BUILD_FILE ${_BUILD_FILE_DIR}/gnucash.gmo)
     LIST(APPEND BUILD_CATALOGS ${_BUILD_FILE})
-    #ADD_CUSTOM_COMMAND(
-    #  OUTPUT ${_BUILD_FILE}
-    #  COMMAND ${CMAKE_COMMAND} make_directory ${_BUILD_FILE_DIR}
-    #
-    #)
     ADD_CUSTOM_COMMAND(
       OUTPUT ${_BUILD_FILE}
       COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${lingua}.gmo ${_BUILD_FILE}
diff --git a/src/cmake_modules/GncAddGSchemaTargets.cmake b/src/cmake_modules/GncAddGSchemaTargets.cmake
index 1b80d54..b36b8cc 100644
--- a/src/cmake_modules/GncAddGSchemaTargets.cmake
+++ b/src/cmake_modules/GncAddGSchemaTargets.cmake
@@ -7,6 +7,10 @@ MACRO(ADD_GSCHEMA_TARGETS _TARGET _gschema_INPUTS)
   IF(WIN32)
     SET(INITTOOL_OPTIONS "/tmp")
   ENDIF(WIN32)
+  SET(CMAKE_COMMAND_TMP "")
+  IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+    SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
+  ENDIF()
   FOREACH(file ${_gschema_INPUTS})
     GNC_CONFIGURE2(${file}.in.in ${file}.in)
     STRING(REPLACE ".xml" ".valid" file_no_xml ${file})
@@ -20,7 +24,7 @@ MACRO(ADD_GSCHEMA_TARGETS _TARGET _gschema_INPUTS)
     ENDIF()
     ADD_CUSTOM_COMMAND(
         OUTPUT ${_OUTPUT_FILE}
-        COMMAND ${CMAKE_COMMAND} -E env
+        COMMAND ${CMAKE_COMMAND_TMP}
           LC_ALL=C
           ${PERL_EXECUTABLE} ${INTLTOOL_MERGE} -x -u ${INITTOOL_OPTIONS} ${CMAKE_CURRENT_BINARY_DIR}/${file}.in ${CMAKE_CURRENT_BINARY_DIR}/${file}
         DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${file}.in
@@ -35,14 +39,14 @@ MACRO(ADD_GSCHEMA_TARGETS _TARGET _gschema_INPUTS)
     ENDIF()
     ADD_CUSTOM_COMMAND(
         OUTPUT ${_VALID_FILE}
-        COMMAND ${CMAKE_COMMAND} -E env
-        ${GLIB_COMPILE_SCHEMAS} --strict --dry-run --schema-file=${_OUTPUT_FILE}
+        COMMAND ${CMAKE_COMMAND_TMP}
+          ${GLIB_COMPILE_SCHEMAS} --strict --dry-run --schema-file=${_OUTPUT_FILE}
         COMMAND ${CMAKE_COMMAND} -E touch ${_VALID_FILE}
         DEPENDS ${_OUTPUT_FILE}
     )
   ENDFOREACH(file)
 
-  ADD_CUSTOM_TARGET(${_TARGET} DEPENDS "${_gschema_OUTPUTS};${_gschema_VALIDS};${_gschema_BUILDS}")
+  ADD_CUSTOM_TARGET(${_TARGET} DEPENDS ${_gschema_OUTPUTS} ${_gschema_VALIDS} ${_gschema_BUILDS})
 
   INSTALL(FILES ${_gschema_OUTPUTS} DESTINATION share/glib-2.0/schemas)
 
diff --git a/src/cmake_modules/GncAddSchemeTargets.cmake b/src/cmake_modules/GncAddSchemeTargets.cmake
index b7ddceb..4027729 100644
--- a/src/cmake_modules/GncAddSchemeTargets.cmake
+++ b/src/cmake_modules/GncAddSchemeTargets.cmake
@@ -39,9 +39,9 @@ MACRO(GNC_ADD_SCHEME_TARGETS _TARGET _SOURCE_FILES _OUTPUT_DIR_IN _GUILE_MODULES
       ENDIF()
     ENDFOREACH(scheme_file)
     IF(HAVE_GUILE1)
-      ADD_CUSTOM_TARGET(${_TARGET} ALL DEPENDS "${_SCHEME_LINKS}")
+      ADD_CUSTOM_TARGET(${_TARGET} ALL DEPENDS ${_SCHEME_LINKS})
     ELSE()
-      ADD_CUSTOM_TARGET(${_TARGET}-links ALL DEPENDS "${_SCHEME_LINKS}")
+      ADD_CUSTOM_TARGET(${_TARGET}-links ALL DEPENDS ${_SCHEME_LINKS})
     ENDIF()
   ENDIF(HAVE_GUILE1 OR MAKE_LINKS)
 
@@ -114,9 +114,13 @@ MACRO(GNC_ADD_SCHEME_TARGETS _TARGET _SOURCE_FILES _OUTPUT_DIR_IN _GUILE_MODULES
       IF (__DEBUG)
         MESSAGE("ADD_CUSTOM_COMMAND: output = ${output_file}")
       ENDIF()
+      SET(CMAKE_COMMMAND_TMP "")
+      IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+        SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
+      ENDIF()
       ADD_CUSTOM_COMMAND(
         OUTPUT ${output_file}
-        COMMAND ${CMAKE_COMMAND} -E env
+        COMMAND ${CMAKE_COMMAND_TMP}
            GNC_UNINSTALLED=${_GNC_UNINSTALLED}
            GNC_BUILDDIR=${CMAKE_BINARY_DIR}
            #DYLD_FALLBACK_LIBRARY_PATH=${Boost_LIBRARY_DIRS} # this is hack for OS X
diff --git a/src/cmake_modules/GncFindPkgConfig.cmake b/src/cmake_modules/GncFindPkgConfig.cmake
index f79316e..f94604d 100644
--- a/src/cmake_modules/GncFindPkgConfig.cmake
+++ b/src/cmake_modules/GncFindPkgConfig.cmake
@@ -1,3 +1,6 @@
+
+if(${CMAKE_VERSION} VERSION_GREATER 3.1)
+
 function (pkg_get_variable result pkg variable)
   _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
   set("${result}"
@@ -234,15 +237,24 @@ macro(_gnc_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no
   endif()
 endmacro()
 
-
-
 macro(gnc_pkg_check_modules _prefix _module0)
   # check cached value
   if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
     _pkgconfig_parse_options   (_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path "${_module0}" ${ARGN})
     _gnc_pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} "${_prefix}" ${_pkg_modules})
+    _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
+  endif()
+endmacro()
+
+else()
 
+macro(gnc_pkg_check_modules _prefix _module0)
+  if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
+    _pkgconfig_parse_options   (_pkg_modules _pkg_is_required _pkg_is_silent "${_module0}" ${ARGN})
+    _pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" "${_prefix}" ${_pkg_modules})
     _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
   endif()
 endmacro()
 
+endif()
+
diff --git a/src/gnome/CMakeLists.txt b/src/gnome/CMakeLists.txt
index cd8cc47..1faa475 100644
--- a/src/gnome/CMakeLists.txt
+++ b/src/gnome/CMakeLists.txt
@@ -117,9 +117,14 @@ INSTALL(TARGETS gnc-gnome
 
 # FIXME: where does LC_ALL=C come from?
 
+SET(CMAKE_COMMAND_TMP "")
+IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+  SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
+ENDIF()
+
 ADD_CUSTOM_COMMAND(
     OUTPUT gnucash.appdata.xml
-    COMMAND ${CMAKE_COMMAND} -E env
+    COMMAND ${CMAKE_COMMAND_TMP}
       LC_ALL=C
       ${PERL_EXECUTABLE} ${INTLTOOL_MERGE} -x -u -c ${CMAKE_SOURCE_DIR}/po/.intltool-merge-cache ${CMAKE_SOURCE_DIR}/po
         ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in gnucash.appdata.xml
@@ -137,7 +142,7 @@ CONFIGURE_FILE(gnucash.desktop.in.in gnucash.desktop.in)
 
 ADD_CUSTOM_COMMAND(
     OUTPUT gnucash.desktop
-    COMMAND ${CMAKE_COMMAND} -E env
+    COMMAND ${CMAKE_COMMAND_TMP}
       LC_ALL=C
       ${PERL_EXECUTABLE} ${INTLTOOL_MERGE} -d -u -c ${CMAKE_SOURCE_DIR}/po/.intltool-merge-cache ${CMAKE_SOURCE_DIR}/po
         gnucash.desktop.in gnucash.desktop
diff --git a/src/quotes/CMakeLists.txt b/src/quotes/CMakeLists.txt
index dd23444..1c5b33d 100644
--- a/src/quotes/CMakeLists.txt
+++ b/src/quotes/CMakeLists.txt
@@ -26,6 +26,12 @@ FOREACH(file gnc-fq-check.in gnc-fq-helper.in gnc-fq-update.in gnc-fq-dump)
   ENDIF()
 ENDFOREACH(file)
 
+SET(CMAKE_COMMAND_TMP "")
+IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
+  SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
+ENDIF()
+
+
 SET(_MAN_FILES "")
 FOREACH(file gnc-fq-dump gnc-fq-helper)
   SET(_POD_INPUT ${CMAKE_CURRENT_BINARY_DIR}/${file})
@@ -34,7 +40,7 @@ FOREACH(file gnc-fq-dump gnc-fq-helper)
   ADD_CUSTOM_COMMAND(
       OUTPUT ${_MAN_OUTPUT}
       COMMAND
-        ${CMAKE_COMMAND} -E env ${PERL_EXECUTABLE} ${POD2MAN_EXECUTABLE} ${_POD_INPUT} ${_MAN_OUTPUT}
+        ${CMAKE_COMMAND_TMP} ${PERL_EXECUTABLE} ${POD2MAN_EXECUTABLE} ${_POD_INPUT} ${_MAN_OUTPUT}
       DEPENDS ${_POD_INPUT}
   )
 ENDFOREACH(file)



Summary of changes:
 CMakeLists.txt                               |  2 +-
 cmake/CMakeLists.txt                         |  6 +++++-
 doc/CMakeLists.txt                           | 12 ++++++++++--
 po/CMakeLists.txt                            | 13 +++++++------
 src/cmake_modules/GncAddGSchemaTargets.cmake | 12 ++++++++----
 src/cmake_modules/GncAddSchemeTargets.cmake  | 10 +++++++---
 src/cmake_modules/GncFindPkgConfig.cmake     | 16 ++++++++++++++--
 src/gnome/CMakeLists.txt                     |  9 +++++++--
 src/quotes/CMakeLists.txt                    |  8 +++++++-
 9 files changed, 66 insertions(+), 22 deletions(-)



More information about the gnucash-changes mailing list