gnucash maint: Bump minimum cmake version to 3.5
Geert Janssens
gjanssens at code.gnucash.org
Sat May 25 06:07:07 EDT 2019
Updated via https://github.com/Gnucash/gnucash/commit/b7479e8f (commit)
from https://github.com/Gnucash/gnucash/commit/ae76a294 (commit)
commit b7479e8fb0091ba4f6f4cc9af60a3b4ecb39d37b
Author: Geert Janssens <geert at kobaltwit.be>
Date: Sat May 25 11:20:21 2019 +0200
Bump minimum cmake version to 3.5
This version is available for all supported platforms and distros
(CentOS can have a version via EPEL, which is required anyway)
Advantages:
- one cmake version for all platforms
- we can drop all conditions based on cmake version
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 61cb22010..97440f8d7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,10 +1,6 @@
# CMakeLists.txt for GnuCash
-if (WIN32 OR APPLE)
- cmake_minimum_required (VERSION 3.3.2)
-else()
- cmake_minimum_required (VERSION 3.2)
-endif()
+cmake_minimum_required (VERSION 3.5)
project (gnucash)
@@ -181,36 +177,31 @@ endif(WIN32)
find_package(PkgConfig REQUIRED)
-# The default FindPkgConfig.make code has a bug in how the setting of PKG_CONFIG_PATH is handled.
-# The common/cmake_modules/GncFindPkgConfig.cmake file overrides a couple of macros in FindPkgConfig to fix.
-
-include (GncFindPkgConfig)
-
if (NOT PKG_CONFIG_FOUND)
message (SEND_ERROR "pkg-config not found, but is required")
endif (NOT PKG_CONFIG_FOUND)
# glib et al.
-gnc_pkg_check_modules (GLIB2 REQUIRED glib-2.0>=2.40)
-gnc_pkg_check_modules (GIO REQUIRED gio-2.0)
-gnc_pkg_check_modules (GOBJECT REQUIRED gobject-2.0>=2.20)
-gnc_pkg_check_modules (GMODULE REQUIRED gmodule-2.0>=2.20)
-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)
+pkg_check_modules (GLIB2 REQUIRED glib-2.0>=2.40)
+pkg_check_modules (GIO REQUIRED gio-2.0)
+pkg_check_modules (GOBJECT REQUIRED gobject-2.0>=2.20)
+pkg_check_modules (GMODULE REQUIRED gmodule-2.0>=2.20)
+pkg_check_modules (GTHREAD REQUIRED gthread-2.0>=2.20)
+
+pkg_check_modules (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
+pkg_check_modules (LIBXSLT REQUIRED libxslt)
if (WITH_GNUCASH)
if (WIN32 OR APPLE)
- gnc_pkg_check_modules (WEBKIT1 REQUIRED webkitgtk-3.0)
+ pkg_check_modules (WEBKIT1 REQUIRED webkitgtk-3.0)
set(WEBKIT1 1)
set(WEBKIT_CFLAGS ${WEBKIT2_CFLAGS})
set(WEBKIT_INCLUDE_DIRS ${WEBKIT1_INCLUDE_DIRS})
set(WEBKIT_LDFLAGS ${WEBKIT1_LDFLAGS})
set(WEBKIT_LIBRARIES ${WEBKIT1_LIBRARIES})
else (WIN32 OR APPLE)
- gnc_pkg_check_modules (WEBKIT2_4 webkit2gtk-4.0)
+ pkg_check_modules (WEBKIT2_4 webkit2gtk-4.0)
if (NOT WEBKIT2_4_FOUND)
- gnc_pkg_check_modules (WEBKIT2_3 REQUIRED webkit2gtk-3.0)
+ pkg_check_modules (WEBKIT2_3 REQUIRED webkit2gtk-3.0)
set(WEBKIT2_3 1)
set(WEBKIT_CFLAGS ${WEBKIT2_3_CFLAGS})
set(WEBKIT_INCLUDE_DIRS ${WEBKIT2_3_INCLUDE_DIRS})
@@ -225,10 +216,10 @@ if (WITH_GNUCASH)
endif (NOT WEBKIT2_4_FOUND)
endif (WIN32 OR APPLE)
- gnc_pkg_check_modules (GTK3 REQUIRED gtk+-3.0>=3.10.0)
+ pkg_check_modules (GTK3 REQUIRED gtk+-3.0>=3.10.0)
endif (WITH_GNUCASH)
-gnc_pkg_check_modules (ZLIB REQUIRED zlib)
+pkg_check_modules (ZLIB REQUIRED zlib)
if (MSVC)
message (STATUS "Hint: To create the import libraries for the gnome DLLs (e.g. gconf-2.lib), use the dlltool as follows: pexports bin/libgconf-2-4.dll > lib/libgconf-2.def ; dlltool -d lib/libgconf-2.def -D bin/libgconf-2-4.dll -l lib/gconf-2.lib")
@@ -295,7 +286,7 @@ endif()
# Look for guile versions in this order: 2.2 > 2.0
# guile library and include dir
-gnc_pkg_check_modules (GUILE22 guile-2.2 QUIET)
+pkg_check_modules (GUILE22 guile-2.2 QUIET)
if (GUILE22_FOUND) # found guile-2.2
add_definitions (-DHAVE_GUILE22)
set(HAVE_GUILE2 TRUE)
@@ -310,7 +301,7 @@ if (GUILE22_FOUND) # found guile-2.2
message(STATUS "Using guile-2.2.x")
find_program (GUILE_EXECUTABLE NAMES guile2.2 guile)
else(GUILE22_FOUND)
- gnc_pkg_check_modules (GUILE2 guile-2.0>=2.0.9 QUIET)
+ pkg_check_modules (GUILE2 guile-2.0>=2.0.9 QUIET)
if (GUILE2_FOUND) # found guile-2.0
add_definitions (-DHAVE_GUILE20)
set(HAVE_GUILE2 TRUE)
@@ -357,10 +348,10 @@ endif ()
# ############################################################
if (WITH_AQBANKING)
- gnc_pkg_check_modules (GWENHYWFAR REQUIRED gwenhywfar>=4.9.99)
- gnc_pkg_check_modules (AQBANKING REQUIRED aqbanking>=5.3.4)
+ pkg_check_modules (GWENHYWFAR REQUIRED gwenhywfar>=4.9.99)
+ pkg_check_modules (AQBANKING REQUIRED aqbanking>=5.3.4)
if(WITH_GNUCASH)
- gnc_pkg_check_modules (GWEN_GTK3 gwengui-gtk3)
+ pkg_check_modules (GWEN_GTK3 gwengui-gtk3)
if(GWEN_GTK3_FOUND AND GWEN_GTK3_VERSION VERSION_GREATER "4.20.0")
set(HAVE_GWEN_GTK3 1 CACHE BOOL "True if gwen-gtk3.pc exists")
endif()
@@ -368,7 +359,7 @@ if (WITH_AQBANKING)
endif (WITH_AQBANKING)
if (WITH_OFX)
- gnc_pkg_check_modules (LIBOFX REQUIRED libofx)
+ pkg_check_modules (LIBOFX REQUIRED libofx)
include(CheckCXXSourceRuns)
if (WIN32)
set(CMAKE_REQUIRED_LIBRARIES "-L ${CMAKE_PREFIX_PATH}/libofx/lib -lofx")
@@ -413,7 +404,7 @@ if(APPLE)
if(TARGET_RESULT STREQUAL "quartz")
set(GNC_PLATFORM_COCOA 1)
set(GDK_QUARTZ 1)
- gnc_pkg_check_modules(GTK_MAC gtk-mac-integration-gtk3)
+ pkg_check_modules(GTK_MAC gtk-mac-integration-gtk3)
if (GTK_MAC_FOUND)
set(MAC_INTEGRATION 1)
find_library(COCOA_LIBRARY Cocoa)
@@ -511,10 +502,10 @@ get_filename_component(PERL_DIR ${PERL_EXECUTABLE} DIRECTORY)
find_program(POD2MAN_EXECUTABLE pod2man HINTS ${PERL_DIR})
#ICU
-gnc_pkg_check_modules (ICU4C REQUIRED icu-uc)
-gnc_pkg_check_modules (ICU4C_I18N REQUIRED icu-i18n)
+pkg_check_modules (ICU4C REQUIRED icu-uc)
+pkg_check_modules (ICU4C_I18N REQUIRED icu-i18n)
-GNC_PKG_CHECK_MODULES (LIBSECRET libsecret-1>=0.18)
+pkg_check_modules (LIBSECRET libsecret-1>=0.18)
IF (LIBSECRET_FOUND)
SET (HAVE_LIBSECRET ON)
ENDIF (LIBSECRET_FOUND)
diff --git a/common/cmake_modules/CMakeLists.txt b/common/cmake_modules/CMakeLists.txt
index 1795b15d6..8ca9b740b 100644
--- a/common/cmake_modules/CMakeLists.txt
+++ b/common/cmake_modules/CMakeLists.txt
@@ -1,6 +1,6 @@
set(cmake_FILES GncAddGSchemaTargets.cmake GncAddSchemeTargets.cmake GncAddSwigCommand.cmake GncAddTest.cmake
- GncFindPkgConfig.cmake MacroAddSourceFileCompileFlags.cmake MacroAppendForeach.cmake
+ MacroAddSourceFileCompileFlags.cmake MacroAppendForeach.cmake
MakeDist.cmake MakeDistFiles.cmake MakeDistCheck.cmake)
set_dist_list(cmake_modules_DIST CMakeLists.txt COPYING-CMAKE-SCRIPTS.txt ${cmake_FILES})
diff --git a/common/cmake_modules/GncAddGSchemaTargets.cmake b/common/cmake_modules/GncAddGSchemaTargets.cmake
index 7ef412eed..83a26d8a5 100644
--- a/common/cmake_modules/GncAddGSchemaTargets.cmake
+++ b/common/cmake_modules/GncAddGSchemaTargets.cmake
@@ -1,10 +1,6 @@
macro(add_gschema_targets _gschema_INPUTS)
set(_gschema_OUTPUTS "")
set(local_depends ${gschema_depends})
- set(CMAKE_COMMAND_TMP "")
- if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
- endif()
foreach(file ${_gschema_INPUTS})
set(_OUTPUT_FILE ${DATADIR_BUILD}/glib-2.0/schemas/${file})
@@ -16,7 +12,7 @@ macro(add_gschema_targets _gschema_INPUTS)
list(APPEND _gschema_VALIDS ${_VALID_FILE})
add_custom_command(
OUTPUT ${_VALID_FILE}
- COMMAND ${CMAKE_COMMAND_TMP}
+ COMMAND ${CMAKE_COMMAND} -E env
${GLIB_COMPILE_SCHEMAS} --strict --dry-run --schema-file=${_OUTPUT_FILE}
COMMAND ${CMAKE_COMMAND} -E touch ${_VALID_FILE}
DEPENDS ${_OUTPUT_FILE}
diff --git a/common/cmake_modules/GncAddSchemeTargets.cmake b/common/cmake_modules/GncAddSchemeTargets.cmake
index da0706dfa..740845096 100644
--- a/common/cmake_modules/GncAddSchemeTargets.cmake
+++ b/common/cmake_modules/GncAddSchemeTargets.cmake
@@ -116,10 +116,6 @@ function(gnc_add_scheme_targets _TARGET _SOURCE_FILES _OUTPUT_DIR _GUILE_DEPENDS
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()
if (MINGW64)
set(fpath "")
file(TO_CMAKE_PATH "$ENV{PATH}" fpath)
@@ -151,7 +147,7 @@ function(gnc_add_scheme_targets _TARGET _SOURCE_FILES _OUTPUT_DIR _GUILE_DEPENDS
#We quote the arguments to stop CMake stripping the path separators.
add_custom_command(
OUTPUT ${output_file}
- COMMAND ${CMAKE_COMMAND_TMP}
+ COMMAND ${CMAKE_COMMAND} -E env
"${LIBRARY_PATH}"
"GNC_UNINSTALLED=YES"
"GNC_BUILDDIR=\"${CMAKE_BINARY_DIR}\""
diff --git a/common/cmake_modules/GncAddTest.cmake b/common/cmake_modules/GncAddTest.cmake
index 2d5efbbe6..466b110e8 100644
--- a/common/cmake_modules/GncAddTest.cmake
+++ b/common/cmake_modules/GncAddTest.cmake
@@ -73,12 +73,8 @@ function(gnc_add_test _TARGET _SOURCE_FILES TEST_INCLUDE_VAR_NAME TEST_LIBS_VAR_
target_link_libraries(${_TARGET} ${TEST_LIBS})
target_include_directories(${_TARGET} PRIVATE ${TEST_INCLUDE_DIRS})
if (${HAVE_ENV_VARS})
- set(CMAKE_COMMAND_TMP "")
- if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR};${ARGN}")
- endif()
- add_test(${_TARGET} ${CMAKE_COMMAND_TMP}
- ${CMAKE_BINARY_DIR}/bin/${_TARGET}
+ set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR};${ARGN}")
+ add_test(${_TARGET} ${CMAKE_COMMAND_TMP} ${CMAKE_BINARY_DIR}/bin/${_TARGET}
)
set_tests_properties(${_TARGET} PROPERTIES ENVIRONMENT "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR};${ARGN}")
else()
@@ -97,11 +93,7 @@ endfunction()
function(gnc_add_scheme_test _TARGET _SOURCE_FILE)
- set(CMAKE_COMMAND_TMP "")
- if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
- endif()
- add_test(${_TARGET} ${CMAKE_COMMAND_TMP}
+ add_test(${_TARGET} ${CMAKE_COMMAND} -E env
${GUILE_EXECUTABLE} --debug -l ${CMAKE_CURRENT_SOURCE_DIR}/${_SOURCE_FILE} -c "(exit (run-test))"
)
get_guile_env()
diff --git a/common/cmake_modules/GncFindPkgConfig.cmake b/common/cmake_modules/GncFindPkgConfig.cmake
deleted file mode 100644
index 96c85c8a3..000000000
--- a/common/cmake_modules/GncFindPkgConfig.cmake
+++ /dev/null
@@ -1,256 +0,0 @@
-if((${CMAKE_VERSION} VERSION_GREATER 3.1) AND (${CMAKE_VERSION} VERSION_LESS 3.5))
-
-function (pkg_get_variable result pkg variable)
- _pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
- set("${result}"
- "${prefix_result}"
- PARENT_SCOPE)
-endfunction ()
-
-
-macro(_gnc_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _prefix)
- _pkgconfig_unset(${_prefix}_FOUND)
- _pkgconfig_unset(${_prefix}_VERSION)
- _pkgconfig_unset(${_prefix}_PREFIX)
- _pkgconfig_unset(${_prefix}_INCLUDEDIR)
- _pkgconfig_unset(${_prefix}_LIBDIR)
- _pkgconfig_unset(${_prefix}_LIBS)
- _pkgconfig_unset(${_prefix}_LIBS_L)
- _pkgconfig_unset(${_prefix}_LIBS_PATHS)
- _pkgconfig_unset(${_prefix}_LIBS_OTHER)
- _pkgconfig_unset(${_prefix}_CFLAGS)
- _pkgconfig_unset(${_prefix}_CFLAGS_I)
- _pkgconfig_unset(${_prefix}_CFLAGS_OTHER)
- _pkgconfig_unset(${_prefix}_STATIC_LIBDIR)
- _pkgconfig_unset(${_prefix}_STATIC_LIBS)
- _pkgconfig_unset(${_prefix}_STATIC_LIBS_L)
- _pkgconfig_unset(${_prefix}_STATIC_LIBS_PATHS)
- _pkgconfig_unset(${_prefix}_STATIC_LIBS_OTHER)
- _pkgconfig_unset(${_prefix}_STATIC_CFLAGS)
- _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_I)
- _pkgconfig_unset(${_prefix}_STATIC_CFLAGS_OTHER)
-
- # create a better addressable variable of the modules and calculate its size
- set(_pkg_check_modules_list ${ARGN})
- list(LENGTH _pkg_check_modules_list _pkg_check_modules_cnt)
-
- if(PKG_CONFIG_EXECUTABLE)
- # give out status message telling checked module
- if (NOT ${_is_silent})
- if (_pkg_check_modules_cnt EQUAL 1)
- message(STATUS "Checking for module '${_pkg_check_modules_list}'")
- else()
- message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
- endif()
- endif()
-
- set(_pkg_check_modules_packages)
- set(_pkg_check_modules_failed)
-
- set(_extra_paths)
-
- if(NOT _no_cmake_path)
- _pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
- _pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
- _pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
- endif()
-
- if(NOT _no_cmake_environment_path)
- _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
- _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
- _pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
- endif()
-
- if(NOT "${_extra_paths}" STREQUAL "")
- # Save the PKG_CONFIG_PATH environment variable, and add paths
- # from the CMAKE_PREFIX_PATH variables
- set(_pkgconfig_path_old $ENV{PKG_CONFIG_PATH})
- set(_pkgconfig_path ${_pkgconfig_path_old})
- if(NOT "${_pkgconfig_path}" STREQUAL "")
- file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
- endif()
-
- # Create a list of the possible pkgconfig subfolder (depending on
- # the system
- set(_lib_dirs)
- if(NOT DEFINED CMAKE_SYSTEM_NAME
- OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
- AND NOT CMAKE_CROSSCOMPILING))
- if(EXISTS "/etc/debian_version") # is this a debian system ?
- if(CMAKE_LIBRARY_ARCHITECTURE)
- list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
- endif()
- else()
- # not debian, chech the FIND_LIBRARY_USE_LIB64_PATHS property
- get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
- if(uselib64)
- list(APPEND _lib_dirs "lib64/pkgconfig")
- endif()
- endif()
- endif()
- list(APPEND _lib_dirs "lib/pkgconfig")
-
- # Check if directories exist and eventually append them to the
- # pkgconfig path list
- foreach(_prefix_dir ${_extra_paths})
- foreach(_lib_dir ${_lib_dirs})
- if(EXISTS "${_prefix_dir}/${_lib_dir}")
- list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
- list(REMOVE_DUPLICATES _pkgconfig_path)
- endif()
- endforeach()
- endforeach()
-
- # Prepare and set the environment variable
- if(NOT "${_pkgconfig_path}" STREQUAL "")
- # remove empty values from the list
- list(REMOVE_ITEM _pkgconfig_path "")
- file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
- if(UNIX)
- string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
- string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
- endif()
- set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
- endif()
-
- # Unset variables
- unset(_lib_dirs)
- unset(_pkgconfig_path)
- endif()
-
- # iterate through module list and check whether they exist and match the required version
- foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
- set(_pkg_check_modules_exist_query)
-
- # check whether version is given
- if (_pkg_check_modules_pkg MATCHES "(.*[^><])(>=|=|<=)(.*)")
- set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
- set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
- set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
- else()
- set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
- set(_pkg_check_modules_pkg_op)
- set(_pkg_check_modules_pkg_ver)
- endif()
-
- # handle the operands
- if (_pkg_check_modules_pkg_op STREQUAL ">=")
- list(APPEND _pkg_check_modules_exist_query --atleast-version)
- endif()
-
- if (_pkg_check_modules_pkg_op STREQUAL "=")
- list(APPEND _pkg_check_modules_exist_query --exact-version)
- endif()
-
- if (_pkg_check_modules_pkg_op STREQUAL "<=")
- list(APPEND _pkg_check_modules_exist_query --max-version)
- endif()
-
- # create the final query which is of the format:
- # * --atleast-version <version> <pkg-name>
- # * --exact-version <version> <pkg-name>
- # * --max-version <version> <pkg-name>
- # * --exists <pkg-name>
- if (_pkg_check_modules_pkg_op)
- list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
- else()
- list(APPEND _pkg_check_modules_exist_query --exists)
- endif()
-
- _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
- _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
- _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
- _pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
-
- list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
- list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
-
- # execute the query
- execute_process(
- COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
- RESULT_VARIABLE _pkgconfig_retval)
-
- # evaluate result and tell failures
- if (_pkgconfig_retval)
- if(NOT ${_is_silent})
- message(STATUS " Package '${_pkg_check_modules_pkg}' not found")
- endif()
-
- set(_pkg_check_modules_failed 1)
- endif()
- endforeach()
-
- if(_pkg_check_modules_failed)
- # fail when requested
- if (${_is_required})
- message(FATAL_ERROR "A required package was not found")
- endif ()
- else()
- # when we are here, we checked whether requested modules
- # exist. Now, go through them and set variables
-
- _pkgconfig_set(${_prefix}_FOUND 1)
- list(LENGTH _pkg_check_modules_packages pkg_count)
-
- # iterate through all modules again and set individual variables
- foreach (_pkg_check_modules_pkg ${_pkg_check_modules_packages})
- # handle case when there is only one package required
- if (pkg_count EQUAL 1)
- set(_pkg_check_prefix "${_prefix}")
- else()
- set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
- endif()
-
- _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
- pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
- pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
- pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
-
- if (NOT ${_is_silent})
- message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
- endif ()
- endforeach()
-
- # set variables which are combined for multiple modules
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARY_DIRS "(^| )-L" --libs-only-L )
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS "" --libs )
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LDFLAGS_OTHER "" --libs-only-other )
-
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
- _pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
- endif()
-
- if(NOT "${_extra_paths}" STREQUAL "")
- # Restore the environment variable
- set(ENV{PKG_CONFIG_PATH} ${_pkgconfig_path_old})
- endif()
-
- unset(_extra_paths)
- unset(_pkgconfig_path_old)
- else()
- if (${_is_required})
- message(SEND_ERROR "pkg-config tool not found")
- endif ()
- 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()
-
-include(FindPkgConfig)
-
-macro(gnc_pkg_check_modules _prefix _module0)
- PKG_CHECK_MODULES(${_prefix} ${_module0} ${ARGN})
-endmacro()
-
-endif()
diff --git a/common/cmake_modules/MakeDist.cmake b/common/cmake_modules/MakeDist.cmake
index 2db3aee2a..da04beddf 100644
--- a/common/cmake_modules/MakeDist.cmake
+++ b/common/cmake_modules/MakeDist.cmake
@@ -15,11 +15,6 @@ include(${CMAKE_MODULE_PATH}/MakeDistFiles.cmake)
function(make_dist PACKAGE_PREFIX GNUCASH_SOURCE_DIR BUILD_SOURCE_DIR BUILDING_FROM_VCS)
- set(CMAKE_COMMAND_TMP "")
- if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
- endif()
-
# -- Remove any existing packaging directory.
file(REMOVE_RECURSE ${PACKAGE_PREFIX})
@@ -68,7 +63,7 @@ function(make_dist PACKAGE_PREFIX GNUCASH_SOURCE_DIR BUILD_SOURCE_DIR BUILDING_F
COMMAND ${CMAKE_COMMAND} -E copy ${PACKAGE_PREFIX}.tar ${PACKAGE_PREFIX}.tar.save
)
execute_process_and_check_result(
- COMMAND ${CMAKE_COMMAND_TMP} gzip -f ${PACKAGE_PREFIX}.tar
+ COMMAND ${CMAKE_COMMAND} -E env gzip -f ${PACKAGE_PREFIX}.tar
WORKING_DIRECTORY .
ERROR_MSG "gzip command to create ${PACKAGE_PREFIX}.tar.gz failed."
)
@@ -78,7 +73,7 @@ function(make_dist PACKAGE_PREFIX GNUCASH_SOURCE_DIR BUILD_SOURCE_DIR BUILDING_F
COMMAND ${CMAKE_COMMAND} -E rename ${PACKAGE_PREFIX}.tar.save ${PACKAGE_PREFIX}.tar
)
execute_process_and_check_result(
- COMMAND ${CMAKE_COMMAND_TMP} bzip2 -f ${PACKAGE_PREFIX}.tar
+ COMMAND ${CMAKE_COMMAND} -E env bzip2 -f ${PACKAGE_PREFIX}.tar
WORKING_DIRECTORY .
ERROR_MSG "bzip2 command to create ${PACKAGE_PREFIX}.tar.bz2 failed."
)
diff --git a/common/cmake_modules/MakeDistCheck.cmake b/common/cmake_modules/MakeDistCheck.cmake
index c9e68ea9b..6fce2c04e 100644
--- a/common/cmake_modules/MakeDistCheck.cmake
+++ b/common/cmake_modules/MakeDistCheck.cmake
@@ -16,11 +16,6 @@ function(run_dist_check PACKAGE_PREFIX EXT)
if (${EXT} STREQUAL ".bz2")
set(TAR_OPTION "jxf")
endif()
-
- set(MY_CMAKE_COMMAND "")
- if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(MY_CMAKE_COMMAND ${CMAKE_COMMAND} -E env)
- endif()
FIND_PROGRAM(NINJA_COMMAND NAMES ninja ninja-build)
if (${NINJA_COMMAND} STREQUAL "NINJA_COMMAND-NOTFOUND")
@@ -59,28 +54,28 @@ function(run_dist_check PACKAGE_PREFIX EXT)
# Run ninja in the build directory
execute_process_and_check_result(
- COMMAND ${MY_CMAKE_COMMAND} ${NINJA_COMMAND}
+ COMMAND ${CMAKE_COMMAND} -E env ${NINJA_COMMAND}
WORKING_DIRECTORY ${BUILD_DIR}
ERROR_MSG "Ninja build failed."
)
# Run ninja install
execute_process_and_check_result(
- COMMAND ${MY_CMAKE_COMMAND} ${NINJA_COMMAND} install
+ COMMAND ${CMAKE_COMMAND} -E env ${NINJA_COMMAND} install
WORKING_DIRECTORY ${BUILD_DIR}
ERROR_MSG "Ninja install failed."
)
# Run ninja check in the build directory
execute_process_and_check_result(
- COMMAND ${MY_CMAKE_COMMAND} ${NINJA_COMMAND} check
+ COMMAND ${CMAKE_COMMAND} -E env ${NINJA_COMMAND} check
WORKING_DIRECTORY ${BUILD_DIR}
ERROR_MSG "Ninja check failed."
)
# Run ninja dist
execute_process_and_check_result(
- COMMAND ${MY_CMAKE_COMMAND} ${NINJA_COMMAND} dist
+ COMMAND ${CMAKE_COMMAND} -E env ${NINJA_COMMAND} dist
WORKING_DIRECTORY ${BUILD_DIR}
ERROR_MSG "Ninja dist failed."
)
diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt
index 083c7ee39..970606c8b 100644
--- a/gnucash/gnome/CMakeLists.txt
+++ b/gnucash/gnome/CMakeLists.txt
@@ -155,12 +155,6 @@ 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()
-
-
if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19.6)
# Gettext is too old to be able to merge an appdata file.
# Fall back to providing an unmerged (and hence untranslated) appdata file.
@@ -169,7 +163,7 @@ if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19.6)
else()
add_custom_command (
OUTPUT gnucash.appdata.xml
- COMMAND ${CMAKE_COMMAND_TMP}
+ COMMAND ${CMAKE_COMMAND} -E env
LC_ALL=C
${GETTEXT_MSGFMT_EXECUTABLE}
--xml --template ${CMAKE_CURRENT_SOURCE_DIR}/gnucash.appdata.xml.in
@@ -195,7 +189,7 @@ if (${GETTEXT_VERSION_STRING} VERSION_LESS 0.19)
else()
add_custom_command (
OUTPUT gnucash.desktop
- COMMAND ${CMAKE_COMMAND_TMP}
+ COMMAND ${CMAKE_COMMAND} -E env
LC_ALL=C
${GETTEXT_MSGFMT_EXECUTABLE}
--desktop --template gnucash.desktop.in
diff --git a/gnucash/gschemas/CMakeLists.txt b/gnucash/gschemas/CMakeLists.txt
index 11b0f3dcc..0b1fcb91b 100644
--- a/gnucash/gschemas/CMakeLists.txt
+++ b/gnucash/gschemas/CMakeLists.txt
@@ -23,14 +23,10 @@ add_gschema_targets("${gschema_SOURCES}")
# Handle gschemas.compiled
if (COMPILE_GSCHEMAS)
- set(CMAKE_COMMAND_TMP "")
- if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
- endif()
add_custom_command(
OUTPUT ${SCHEMADIR_BUILD}/gschemas.compiled
- COMMAND ${CMAKE_COMMAND_TMP} ${GLIB_COMPILE_SCHEMAS} ${SCHEMADIR_BUILD}
+ COMMAND ${CMAKE_COMMAND} -E env ${GLIB_COMPILE_SCHEMAS} ${SCHEMADIR_BUILD}
DEPENDS ${gschema_depends}
)
diff --git a/libgnucash/backend/xml/test/CMakeLists.txt b/libgnucash/backend/xml/test/CMakeLists.txt
index 77b126c66..df1e599c2 100644
--- a/libgnucash/backend/xml/test/CMakeLists.txt
+++ b/libgnucash/backend/xml/test/CMakeLists.txt
@@ -90,18 +90,13 @@ add_xml_test(test-xml-transaction "${test_backend_xml_module_SOURCES};test-xml-t
add_xml_test(test-xml2-is-file "${test_backend_xml_module_SOURCES};test-xml2-is-file.cpp"
GNC_TEST_FILES=${CMAKE_CURRENT_SOURCE_DIR}/test-files/xml2)
-set(CMAKE_COMMAND_TMP "")
-if (${CMAKE_VERSION} VERSION_GREATER 3.1)
- set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
-endif()
-
set(test-real-data-env
SRCDIR=${CMAKE_CURRENT_SOURCE_DIR}
VERBOSE=yes
TEST_PATH=${CMAKE_BINARY_DIR}/bin
)
add_test(NAME test-real-data
- COMMAND ${CMAKE_COMMAND_TMP}
+ COMMAND ${CMAKE_COMMAND} -E env
${SHELL} ${CMAKE_CURRENT_SOURCE_DIR}/test-real-data.sh
)
set_tests_properties(test-real-data PROPERTIES ENVIRONMENT "${test-real-data-env}")
diff --git a/libgnucash/doc/design/CMakeLists.txt b/libgnucash/doc/design/CMakeLists.txt
index 8e5068617..b9dec7e65 100644
--- a/libgnucash/doc/design/CMakeLists.txt
+++ b/libgnucash/doc/design/CMakeLists.txt
@@ -33,20 +33,11 @@ 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)
find_program(MAKEINFO makeinfo)
if (NOT ${MAKEINFO} STREQUAL "MAKEINFO-NOTFOUND")
-
- if(${CMAKE_VERSION} VERSION_GREATER 3.1)
- add_custom_command(
- OUTPUT gnucash-design.info
- COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
- DEPENDS ${gnucash_design_TEXINFOS}
- )
- else()
- add_custom_command(
- OUTPUT gnucash-design.info
- COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
- DEPENDS ${gnucash_design_TEXINFOS}
- )
- endif()
+ add_custom_command(
+ OUTPUT gnucash-design.info
+ COMMAND ${MAKEINFO} -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
+ DEPENDS ${gnucash_design_TEXINFOS}
+ )
endif (NOT ${MAKEINFO} STREQUAL "MAKEINFO-NOTFOUND")
dist_add_generated (${BUILDING_FROM_VCS} gnucash-design.info)
diff --git a/libgnucash/quotes/CMakeLists.txt b/libgnucash/quotes/CMakeLists.txt
index 1f98035ba..966b38a69 100644
--- a/libgnucash/quotes/CMakeLists.txt
+++ b/libgnucash/quotes/CMakeLists.txt
@@ -7,11 +7,6 @@ foreach(file gnc-fq-check.in gnc-fq-helper.in gnc-fq-update.in gnc-fq-dump)
list(APPEND _BIN_FILES ${_ABS_OUTPUT_FILE})
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)
@@ -20,8 +15,7 @@ foreach(file gnc-fq-dump gnc-fq-helper)
list(APPEND _MAN_FILES ${_MAN_OUTPUT})
add_custom_command(
OUTPUT ${_MAN_OUTPUT}
- COMMAND
- ${CMAKE_COMMAND_TMP} ${PERL_EXECUTABLE} ${POD2MAN_EXECUTABLE} ${_POD_INPUT} ${_MAN_OUTPUT}
+ COMMAND ${CMAKE_COMMAND} -E env ${PERL_EXECUTABLE} ${POD2MAN_EXECUTABLE} ${_POD_INPUT} ${_MAN_OUTPUT}
DEPENDS ${_POD_INPUT}
)
endforeach(file)
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
index ccbdf8f2f..202ef7198 100644
--- a/po/CMakeLists.txt
+++ b/po/CMakeLists.txt
@@ -16,11 +16,6 @@ file (WRITE LINGUAS "${ALL_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()
-
set(po_SOURCES "")
file (WRITE LINGUAS "")
foreach(lingua ${ALL_LINGUAS})
@@ -37,7 +32,7 @@ foreach(lingua ${ALL_LINGUAS})
list(APPEND CATALOGS ${_OUTPUT_FILE})
add_custom_command(
OUTPUT ${_OUTPUT_FILE}
- COMMAND ${CMAKE_COMMAND_TMP}
+ COMMAND ${CMAKE_COMMAND} -E env
${GETTEXT_MSGFMT_EXECUTABLE}
-o ${_OUTPUT_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${lingua}.po
)
Summary of changes:
CMakeLists.txt | 57 +++---
common/cmake_modules/CMakeLists.txt | 2 +-
common/cmake_modules/GncAddGSchemaTargets.cmake | 6 +-
common/cmake_modules/GncAddSchemeTargets.cmake | 6 +-
common/cmake_modules/GncAddTest.cmake | 14 +-
common/cmake_modules/GncFindPkgConfig.cmake | 256 ------------------------
common/cmake_modules/MakeDist.cmake | 9 +-
common/cmake_modules/MakeDistCheck.cmake | 13 +-
gnucash/gnome/CMakeLists.txt | 10 +-
gnucash/gschemas/CMakeLists.txt | 6 +-
libgnucash/backend/xml/test/CMakeLists.txt | 7 +-
libgnucash/doc/design/CMakeLists.txt | 19 +-
libgnucash/quotes/CMakeLists.txt | 8 +-
po/CMakeLists.txt | 7 +-
14 files changed, 47 insertions(+), 373 deletions(-)
delete mode 100644 common/cmake_modules/GncFindPkgConfig.cmake
More information about the gnucash-changes
mailing list