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
This commit is contained in:
Geert Janssens
2019-05-25 11:20:21 +02:00
parent ae76a29453
commit b7479e8fb0
14 changed files with 46 additions and 372 deletions

View File

@@ -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)
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)
gnc_pkg_check_modules (LIBXML2 REQUIRED libxml-2.0>=2.7.0)
gnc_pkg_check_modules (LIBXSLT REQUIRED libxslt)
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)