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