Support CMake 3.0 for Debian Jessie

This commit is contained in:
RobGowin 2016-01-13 10:45:29 -06:00 committed by John Ralls
parent 9b21c9e682
commit 53b7c51632
9 changed files with 67 additions and 23 deletions

View File

@ -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)

View File

@ -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}
)

View File

@ -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.

View File

@ -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}

View File

@ -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)

View File

@ -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

View File

@ -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()

View File

@ -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

View File

@ -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)