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