From: Pierre Ossman Date: Fri, 5 Nov 2021 11:53:11 +0000 (+0100) Subject: Raise CMake requirement to 3.10 X-Git-Tag: v1.12.90~87^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=cb3c78f;p=tigervnc.git Raise CMake requirement to 3.10 It's difficult to support both old and new versions, so raise the requirement to the oldest that is commonly used, which is CMake 3.10.2 on Ubuntu 18.04. --- diff --git a/.github/containers/centos7/build.sh b/.github/containers/centos7/build.sh index 55ad8107..ad55b20e 100755 --- a/.github/containers/centos7/build.sh +++ b/.github/containers/centos7/build.sh @@ -33,6 +33,7 @@ sed -i "s/@VERSION@/${VERSION}/" ${CURDIR}/rpmbuild/SPECS/tigervnc.spec docker run --volume ${CURDIR}/rpmbuild:/home/rpm/rpmbuild --interactive --rm tigervnc/${DOCKER} \ bash -c " + sudo yum install -y epel-release && sudo yum-builddep -y ~/rpmbuild/SPECS/tigervnc.spec && sudo chown 0.0 ~/rpmbuild/SOURCES/* && sudo chown 0.0 ~/rpmbuild/SPECS/* && diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f54fbfe..50247c7d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,13 +2,7 @@ # Setup # -cmake_minimum_required(VERSION 2.8.11) -if(POLICY CMP0022) - cmake_policy(SET CMP0022 OLD) -endif() -if(${CMAKE_VERSION} VERSION_LESS "3.4.0") - message(WARNING "CMake 3.4.0 or newer is required to get correct default installation paths") -endif() +cmake_minimum_required(VERSION 3.10.0) # Internal cmake modules set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) @@ -117,20 +111,6 @@ else() message(STATUS "32-bit build") endif() -# Versions of CMake before 2.8.7 do not properly support resource compilation -# with MinGW. Boo! -if(MINGW AND "${CMAKE_VERSION}" VERSION_LESS "2.8.7") - if(NOT DEFINED RC) - set(CMAKE_RC_COMPILER_INIT windres) - else() - set(CMAKE_RC_COMPILER_INIT ${RC}) - endif() - enable_language(RC) - message(STATUS "Resource compiler: ${CMAKE_RC_COMPILER}") - set(CMAKE_RC_COMPILE_OBJECT - " -o --output-format=coff ") -endif() - # MinGW64 has header support but no library support for IActiveDesktop, so we # need to check for both the header and library and use our own implementation # in common/os if either doesn't exist. diff --git a/contrib/packages/rpm/el7/SPECS/tigervnc.spec b/contrib/packages/rpm/el7/SPECS/tigervnc.spec index 52eea001..da9fdd32 100644 --- a/contrib/packages/rpm/el7/SPECS/tigervnc.spec +++ b/contrib/packages/rpm/el7/SPECS/tigervnc.spec @@ -26,7 +26,7 @@ BuildRequires: mesa-libGL-devel, libXinerama-devel, ImageMagick BuildRequires: freetype-devel, libXdmcp-devel, libXfont2-devel BuildRequires: libXrandr-devel, fltk-devel >= 1.3.3 BuildRequires: libjpeg-turbo-devel, gnutls-devel, pam-devel -BuildRequires: systemd, cmake, selinux-policy-devel +BuildRequires: systemd, cmake3, selinux-policy-devel BuildRequires: libpng-devel BuildRequires: zlib-devel @@ -160,11 +160,7 @@ export CPPFLAGS="$CXXFLAGS" export CMAKE_EXE_LINKER_FLAGS=$LDFLAGS -# The cmake in RHEL is too old and doesn't set up -# CMAKE_INSTALL_SYSCONFDIR properly -%{cmake} -G"Unix Makefiles" \ - -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ - -DBUILD_STATIC=off +%{cmake3} -G"Unix Makefiles" -DBUILD_STATIC=off make %{?_smp_mflags} pushd unix/xserver diff --git a/contrib/packages/rpm/el8/SPECS/tigervnc.spec b/contrib/packages/rpm/el8/SPECS/tigervnc.spec index 2a4e4dbd..090b7bde 100644 --- a/contrib/packages/rpm/el8/SPECS/tigervnc.spec +++ b/contrib/packages/rpm/el8/SPECS/tigervnc.spec @@ -161,11 +161,7 @@ export CPPFLAGS="$CXXFLAGS" export CMAKE_EXE_LINKER_FLAGS=$LDFLAGS -# The cmake in RHEL is too old and doesn't set up -# CMAKE_INSTALL_SYSCONFDIR properly -%{cmake} -G"Unix Makefiles" \ - -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ - -DBUILD_STATIC=off +%{cmake} -G"Unix Makefiles" -DBUILD_STATIC=off make %{?_smp_mflags} pushd unix/xserver diff --git a/java/CMakeLists.txt b/java/CMakeLists.txt index 24498d3f..26eb02af 100644 --- a/java/CMakeLists.txt +++ b/java/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 3.10.0) project(tigervnc-java Java) if(NOT VERSION)