Increase minimum CMake version to 3.5; move CMP0048/CMP0063 settings to the top-level CMakeLists.txt file.

Ubuntu 16.04 has CMake 3.5, so we can target that as the minimum
version. Also, recent CMake versions (3.27+) have started printing
warnings if the minimum is less than 3.5.

CMake Deprecation Warning at CMakeLists.txt:2 (CMAKE_MINIMUM_REQUIRED):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
This commit is contained in:
David Korth 2024-02-20 19:18:19 -05:00
parent 734beeee4f
commit dfe25bb3df
37 changed files with 10 additions and 219 deletions

View File

@ -1,7 +1,15 @@
# ROM Properties Page Shell Extension
CMAKE_MINIMUM_REQUIRED(VERSION 3.4)
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
# CMP0048: Set VERSION variables based on the project version specified in PROJECT().
# Introduced in CMake 3.0.
CMAKE_POLICY(SET CMP0048 NEW)
# CMP0063: Honor visibility properties for all target types,
# including static libraries and executables.
# Introduced in CMake 3.3.
CMAKE_POLICY(SET CMP0063 NEW)
# Read the project version.
CONFIGURE_FILE(version.txt version.txt.tmp)
FILE(STRINGS version.txt RP_VERSION_FILE)

View File

@ -1,10 +1,4 @@
# amiibo database data and compiler.
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(amiibo-data LANGUAGES CXX)
SET(amiiboc_SRCS amiiboc.cpp)

View File

@ -1,10 +1,4 @@
# GTK+ UI frontends
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-gtk LANGUAGES C CXX)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/src)

View File

@ -3,12 +3,6 @@
# - Caja 1.18 (MATE)
# - Nemo (Cinnamon)
# - Thunar 1.8 (XFCE)
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-gtk3 LANGUAGES C CXX)
FIND_PACKAGE(GLib2 ${REQUIRE_GTK3} ${GLIB_MIN_VERSION})

View File

@ -1,10 +1,4 @@
# GTK4 UI frontend
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-gtk4 LANGUAGES C CXX)
# GTK4 requires glib-2.66.0.

View File

@ -1,11 +1,5 @@
# GTK UI frontend test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(gtk-tests LANGUAGES CXX)
PROJECT(gtk-tests LANGUAGES C CXX)
# Top-level src directory
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../..)

View File

@ -1,10 +1,4 @@
# D-Bus Thumbnailer for rom-properties
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rp-thumbnailer-dbus LANGUAGES C)
# Find packages.

View File

@ -1,11 +1,5 @@
# GTK+ 2.x UI frontend for:
# - Thunar 1.6 (XFCE)
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-xfce LANGUAGES C CXX)
# Disable glib deprecation warnings.

View File

@ -1,10 +1,4 @@
# KDE (Qt) UI frontends
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-kde LANGUAGES CXX)
# Common files for all KDE versions.

View File

@ -1,10 +1,4 @@
# KDE 4.x UI frontend
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-kde4 LANGUAGES CXX)
# Find Qt4 and KDE4.

View File

@ -1,10 +1,4 @@
# KDE Frameworks 5.x UI frontend
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-kf5 LANGUAGES CXX)
# Find Qt5 and KF5.

View File

@ -1,10 +1,4 @@
# KDE Frameworks 6.x UI frontend
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties-kf6 LANGUAGES CXX)
# Find Qt6 and KF6.

View File

@ -1,10 +1,4 @@
# KDE UI frontend test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(kde-tests LANGUAGES CXX)
# Top-level src directory

View File

@ -1,10 +1,4 @@
# Common cache management functions used by both Cache Manager and rp-download.
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(cachecommon LANGUAGES CXX)
SET(${PROJECT_NAME}_SRCS

View File

@ -1,10 +1,4 @@
# libcachecommon test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(libcachecommon-tests LANGUAGES CXX)
# Top-level src directory.

View File

@ -1,10 +1,4 @@
# Internationalization support code.
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(i18n LANGUAGES C)
# NOTE: This subdirectory is always built, even if NLS is disabled,

View File

@ -1,10 +1,4 @@
# RomData subclasses and factory class.
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(romdata LANGUAGES CXX)
IF(NOT WIN32)

View File

@ -1,10 +1,4 @@
# libromdata test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(libromdata-tests LANGUAGES C CXX)
# Current binary directory for config.libromdata-tests.h

View File

@ -1,10 +1,4 @@
# rom-properties base library
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rpbase LANGUAGES C CXX)
IF(NOT WIN32)

View File

@ -1,10 +1,4 @@
# librpbase test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(librpbase-tests LANGUAGES CXX)
# Top-level src directory.

View File

@ -1,10 +1,4 @@
# rom-properties CPU support library
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rpcpu LANGUAGES C)
# Check for C headers.

View File

@ -1,10 +1,4 @@
# rom-properties file handling library
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rpfile LANGUAGES CXX)
# Check for C library functions.

View File

@ -1,10 +1,4 @@
# Security functionality
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rpsecure LANGUAGES C)
OPTION(ENABLE_EXTRA_SECURITY "Enable extra security functionality if available." ON)

View File

@ -1,10 +1,4 @@
# rom-properties base library
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rptext LANGUAGES C CXX)
IF(NOT WIN32)

View File

@ -1,10 +1,4 @@
# librptext test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(librpbase-tests LANGUAGES CXX)
# Top-level src directory.

View File

@ -1,10 +1,4 @@
# rom-properties texture decoding library
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rptexture LANGUAGES CXX)
# OpenMP (TODO: AUTO/ON/OFF?)

View File

@ -1,10 +1,4 @@
# librptexture test suite
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(librptexture-tests LANGUAGES CXX)
# Top-level src directory.

View File

@ -1,10 +1,4 @@
# Threading wrapper library
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rpthreads LANGUAGES C CXX)
# Find the system threading library.

View File

@ -1,10 +1,4 @@
# Unix and Unix-like systems common code
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
# FIXME: CMake-3.15.5 on travis-ci can't find Objective-C...
PROJECT(unixcommon LANGUAGES C CXX)

View File

@ -1,10 +1,4 @@
# Windows common code
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(win32common LANGUAGES C CXX)
### NOTE: DelayLoadHelper should NOT be compiled here.

View File

@ -1,12 +1,5 @@
# Win32 dark mode
# https://github.com/ysc3839/win32-darkmode
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(win32darkmode LANGUAGES CXX)
# Sources and headers.

View File

@ -1,10 +1,4 @@
# Windows UI common code
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(win32ui LANGUAGES C CXX)
# Check for Windows SDK headers.

View File

@ -1,10 +1,4 @@
# Online downloader program for external images
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rp-download LANGUAGES C CXX)
IF(NOT WIN32)

View File

@ -1,10 +1,4 @@
# Stub executable for Unix and Unix-like thumbnailers
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rp-stub LANGUAGES C)
# rp-stub

View File

@ -1,10 +1,4 @@
# Command line interface
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rpcli LANGUAGES C CXX)
# Sources and headers.

View File

@ -1,10 +1,4 @@
# Windows DLL registration frontend
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(svrplus LANGUAGES C)
# Create the manifest file.

View File

@ -1,10 +1,4 @@
# Windows UI frontend
CMAKE_POLICY(SET CMP0048 NEW)
IF(POLICY CMP0063)
# CMake 3.3: Enable symbol visibility presets for all
# target types, including static libraries and executables.
CMAKE_POLICY(SET CMP0063 NEW)
ENDIF(POLICY CMP0063)
PROJECT(rom-properties LANGUAGES C CXX)
# Check for Windows SDK headers and symbols.