aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/manual/ecm-developer.7.rst8
-rw-r--r--find-modules/FindKF5.cmake2
-rw-r--r--kde-modules/KDECMakeSettings.cmake10
-rw-r--r--kde-modules/KDECompilerSettings.cmake14
-rw-r--r--kde-modules/KDEFrameworkCompilerSettings.cmake8
-rw-r--r--kde-modules/KDEInstallDirs.cmake7
-rw-r--r--kde-modules/KDEPackageAppTemplates.cmake16
-rw-r--r--modules/ECMAddQtDesignerPlugin.cmake2
-rw-r--r--modules/ECMFindModuleHelpers.cmake8
-rw-r--r--modules/ECMGenerateExportHeader.cmake27
-rw-r--r--modules/ECMGeneratePkgConfigFile.cmake3
-rw-r--r--modules/ECMGeneratePriFile.cmake2
-rw-r--r--modules/ECMPackageConfigHelpers.cmake4
-rw-r--r--modules/ECMSetupQtPluginMacroNames.cmake112
-rw-r--r--modules/ECMSetupVersion.cmake9
-rw-r--r--tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake4
-rw-r--r--tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt18
-rw-r--r--tests/ECMSetupVersionTest/version_helpers.cmake2
18 files changed, 97 insertions, 159 deletions
diff --git a/docs/manual/ecm-developer.7.rst b/docs/manual/ecm-developer.7.rst
index b12cc83d..0d3108c2 100644
--- a/docs/manual/ecm-developer.7.rst
+++ b/docs/manual/ecm-developer.7.rst
@@ -132,11 +132,11 @@ used is not high enough. This can be done with:
.. code-block:: cmake
- if(CMAKE_VERSION VERSION_LESS 2.8.12)
- message(FATAL_ERROR "CMake 2.8.12 is required by FindFoo.cmake")
+ if(CMAKE_VERSION VERSION_LESS 3.16.0)
+ message(FATAL_ERROR "CMake 3.16.0 is required by FindFoo.cmake")
endif()
- if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
- message(AUTHOR_WARNING "Your project should require at least CMake 2.8.12 to use FindFoo.cmake")
+ if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.16.0)
+ message(AUTHOR_WARNING "Your project should require at least CMake 3.16.0 to use FindFoo.cmake")
endif()
The :module:`ECMFindModuleHelpers` module has several useful functions and
diff --git a/find-modules/FindKF5.cmake b/find-modules/FindKF5.cmake
index 42c55bab..ed7215c8 100644
--- a/find-modules/FindKF5.cmake
+++ b/find-modules/FindKF5.cmake
@@ -55,7 +55,7 @@ foreach(_module ${KF5_FIND_COMPONENTS})
)
# CMake >= 3.17 wants to be explicitly told we are fine with name mismatch here
set(_name_mismatched_arg)
- if(NOT CMAKE_VERSION VERSION_LESS 3.17)
+ if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.17)
set(_name_mismatched_arg NAME_MISMATCHED)
endif()
find_package_handle_standard_args(KF5${_module} CONFIG_MODE ${_name_mismatched_arg})
diff --git a/kde-modules/KDECMakeSettings.cmake b/kde-modules/KDECMakeSettings.cmake
index d33daa7a..251f7cff 100644
--- a/kde-modules/KDECMakeSettings.cmake
+++ b/kde-modules/KDECMakeSettings.cmake
@@ -220,9 +220,7 @@ if(NOT KDE_SKIP_BUILD_SETTINGS)
# Since CMake 3.0
# TODO KF6: discuss enabling AUTOUIC and note porting requirements. autouic
# acts on all #include "ui_*.h" assuming *.ui exists
- if(NOT CMAKE_VERSION VERSION_LESS 3.0)
- set(CMAKE_AUTORCC ON)
- endif()
+ set(CMAKE_AUTORCC ON)
# By default, create 'GUI' executables. This can be reverted on a per-target basis
# using ECMMarkNonGuiExecutable
@@ -246,7 +244,7 @@ if(NOT KDE_SKIP_BUILD_SETTINGS)
# even without installation.
# We do the same under Unix to make it possible to run tests and apps without installing
- if (WIN32 OR NOT ("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.38.0"))
+ if (WIN32 OR ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.38.0)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
@@ -342,9 +340,7 @@ if(NOT EXISTS ${CMAKE_SOURCE_DIR}/po AND NOT TARGET fetch-translations)
set(_l10n_po_dir "${CMAKE_BINARY_DIR}/po")
set(_l10n_poqm_dir "${CMAKE_BINARY_DIR}/poqm")
- if(CMAKE_VERSION VERSION_GREATER 3.2)
- set(extra BYPRODUCTS ${_l10n_po_dir} ${_l10n_poqm_dir})
- endif()
+ set(extra BYPRODUCTS ${_l10n_po_dir} ${_l10n_poqm_dir})
set(fetch_commands
COMMAND ruby "${CMAKE_BINARY_DIR}/releaseme/fetchpo.rb"
diff --git a/kde-modules/KDECompilerSettings.cmake b/kde-modules/KDECompilerSettings.cmake
index 7fd905cf..aa5b3e15 100644
--- a/kde-modules/KDECompilerSettings.cmake
+++ b/kde-modules/KDECompilerSettings.cmake
@@ -75,7 +75,7 @@ endif()
############################################################
macro(_kde_compiler_min_version min_version)
- if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "${min_version}")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${min_version})
message(WARNING "Version ${CMAKE_CXX_COMPILER_VERSION} of the ${CMAKE_CXX_COMPILER_ID} C++ compiler is not supported. Please use version ${min_version} or later.")
endif()
endmacro()
@@ -368,12 +368,12 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang"
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=return-type")
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR
- (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5))
+ (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.5))
# -Wvla: use of variable-length arrays (an extension to C++)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wvla")
endif()
-if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0) OR
- (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5))
+if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0) OR
+ (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.5))
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag(-Wdate-time HAVE_DATE_TIME)
if (HAVE_DATE_TIME)
@@ -383,7 +383,7 @@ if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VER
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override -Wlogical-op" )
endif()
endif()
@@ -461,8 +461,8 @@ if (MINGW AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
endif()
if (CMAKE_GENERATOR STREQUAL "Ninja" AND
- ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR
- (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)))
+ ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.9) OR
+ (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 3.5)))
# Force colored warnings in Ninja's output, if the compiler has -fdiagnostics-color support.
# Rationale in https://github.com/ninja-build/ninja/issues/814
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
diff --git a/kde-modules/KDEFrameworkCompilerSettings.cmake b/kde-modules/KDEFrameworkCompilerSettings.cmake
index fca643d4..7459594e 100644
--- a/kde-modules/KDEFrameworkCompilerSettings.cmake
+++ b/kde-modules/KDEFrameworkCompilerSettings.cmake
@@ -45,7 +45,7 @@ endif()
# Some non-KF projects make (ab)use of KDEFrameworkCompilerSettings currently,
# let them only hit this as well when bumping their min. ECM requirement to a newer version.
-if (NOT "${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.79.0")
+if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.79.0)
add_definitions(
-DQT_NO_KEYWORDS
-DQT_NO_FOREACH
@@ -64,18 +64,18 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
- if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" )
endif()
endif()
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
- if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0.0")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 5.0.0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wzero-as-null-pointer-constant" )
endif()
endif()
-if (NOT ("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.80.0"))
+if (ECM_GLOBAL_FIND_VERSION VERSION_GREATER_EQUAL 5.80.0)
include(KDEClangFormat)
# add clang-format target
file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c)
diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
index 628baa06..db987f23 100644
--- a/kde-modules/KDEInstallDirs.cmake
+++ b/kde-modules/KDEInstallDirs.cmake
@@ -334,9 +334,7 @@ macro(_define_relative varname parent subdir docstring)
PROPERTY TYPE PATH)
endif()
elseif(${_oldstylename})
- if(NOT CMAKE_VERSION VERSION_LESS 3.0.0)
- message(DEPRECATION "${_oldstylename} is deprecated, use KDE_INSTALL_${varname} instead.")
- endif()
+ message(DEPRECATION "${_oldstylename} is deprecated, use KDE_INSTALL_${varname} instead.")
# The old name was given (probably on the command line): move
# it to the new name
set(KDE_INSTALL_${varname} "${${_oldstylename}}"
@@ -344,7 +342,7 @@ macro(_define_relative varname parent subdir docstring)
"${docstring} (${_docpath})"
FORCE)
elseif(${_cmakename})
- if(_cmakename_is_deprecated AND NOT CMAKE_VERSION VERSION_LESS 3.0.0)
+ if(_cmakename_is_deprecated)
message(DEPRECATION "${_cmakename} is deprecated, use KDE_INSTALL_${varname} instead.")
endif()
# The CMAKE_ name was given (probably on the command line): move
@@ -417,7 +415,6 @@ if(APPLE)
BUNDLE_INSTALL_DIR)
endif()
-# Only supported since cmake 3.7
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${ECM_PREFIX}" CACHE PATH "Install path prefix" FORCE)
endif()
diff --git a/kde-modules/KDEPackageAppTemplates.cmake b/kde-modules/KDEPackageAppTemplates.cmake
index 951fcee1..aa8111ac 100644
--- a/kde-modules/KDEPackageAppTemplates.cmake
+++ b/kde-modules/KDEPackageAppTemplates.cmake
@@ -107,19 +107,9 @@ function(kde_package_app_templates)
get_filename_component(_baseName ${_tmp_file} NAME_WE)
set(_template ${CMAKE_CURRENT_BINARY_DIR}/${_baseName}.tar.bz2)
- # CONFIGURE_DEPENDS is only available for cmake >= 3.12
- if(NOT CMAKE_VERSION VERSION_LESS "3.12.0")
- # also enlist directories as deps to catch file removals
- file(GLOB_RECURSE _subdirs_entries LIST_DIRECTORIES true CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${_templateName}/*")
- else()
- file(GLOB_RECURSE _subdirs_entries LIST_DIRECTORIES true "${CMAKE_CURRENT_SOURCE_DIR}/${_templateName}/*")
- # custom code to implement CONFIGURE_DEPENDS
- foreach(_direntry ${_subdirs_entries})
- if(IS_DIRECTORY ${_direntry})
- set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${_direntry})
- endif()
- endforeach()
- endif()
+ # also enlist directories as deps to catch file removals
+ file(GLOB_RECURSE _subdirs_entries LIST_DIRECTORIES true CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${_templateName}/*")
+
add_custom_target(${_baseName} ALL DEPENDS ${_template})
if(GNU_TAR_FOUND)
diff --git a/modules/ECMAddQtDesignerPlugin.cmake b/modules/ECMAddQtDesignerPlugin.cmake
index eaf3660f..7d3dfb69 100644
--- a/modules/ECMAddQtDesignerPlugin.cmake
+++ b/modules/ECMAddQtDesignerPlugin.cmake
@@ -618,7 +618,7 @@ QList<QDesignerCustomWidgetInterface*> ${_collection_classname}::customWidgets()
# setup plugin binary
add_library(${target} MODULE ${_srcs})
- if(Qt5UiPlugin_VERSION AND NOT Qt5UiPlugin_VERSION VERSION_LESS "5.9.0")
+ if(Qt5UiPlugin_VERSION AND Qt5UiPlugin_VERSION VERSION_GREATER_EQUAL 5.9.0)
list(APPEND ARGS_LINK_LIBRARIES Qt5::UiPlugin)
else()
# For Qt <5.9 include dir variables needed
diff --git a/modules/ECMFindModuleHelpers.cmake b/modules/ECMFindModuleHelpers.cmake
index 1d9b8eea..aec2abb4 100644
--- a/modules/ECMFindModuleHelpers.cmake
+++ b/modules/ECMFindModuleHelpers.cmake
@@ -105,11 +105,11 @@ Since pre-1.0.0.
include(CMakeParseArguments)
macro(ecm_find_package_version_check module_name)
- if(CMAKE_VERSION VERSION_LESS 2.8.12)
- message(FATAL_ERROR "CMake 2.8.12 is required by Find${module_name}.cmake")
+ if(CMAKE_VERSION VERSION_LESS 3.16.0)
+ message(FATAL_ERROR "CMake 3.16.0 is required by Find${module_name}.cmake")
endif()
- if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.12)
- message(AUTHOR_WARNING "Your project should require at least CMake 2.8.12 to use Find${module_name}.cmake")
+ if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.16.0)
+ message(AUTHOR_WARNING "Your project should require at least CMake 3.16.0 to use Find${module_name}.cmake")
endif()
endmacro()
diff --git a/modules/ECMGenerateExportHeader.cmake b/modules/ECMGenerateExportHeader.cmake
index 7cd1418e..7b05e6fc 100644
--- a/modules/ECMGenerateExportHeader.cmake
+++ b/modules/ECMGenerateExportHeader.cmake
@@ -394,9 +394,7 @@ function(_ecm_geh_generate_hex_number _var_name _version)
string(REGEX REPLACE ${version_regex} "\\2" _version_minor "${_version}")
string(REGEX REPLACE ${version_regex} "\\3" _version_patch "${_version}")
set(_outputformat)
- if (NOT CMAKE_VERSION VERSION_LESS 3.13)
- set(_outputformat OUTPUT_FORMAT HEXADECIMAL)
- endif()
+ set(_outputformat OUTPUT_FORMAT HEXADECIMAL)
math(EXPR _hexnumber "${_version_major}*65536 + ${_version_minor}*256 + ${_version_patch}" ${_outputformat})
set(${_var_name} ${_hexnumber} PARENT_SCOPE)
endfunction()
@@ -471,9 +469,6 @@ function(ecm_generate_export_header target)
elseif(NOT ARGS_VERSION MATCHES ${_version_triple_regexp})
message(FATAL_ERROR "VERSION expected to be in x.y.z format when calling ecm_generate_export_header().")
endif()
- if (ARGS_INCLUDE_GUARD_NAME AND CMAKE_VERSION VERSION_LESS 3.11)
- message(FATAL_ERROR "Argument INCLUDE_GUARD_NAME needs at least CMake 3.11 when calling ecm_generate_export_header().")
- endif()
if (NOT ARGS_EXCLUDE_DEPRECATED_BEFORE_AND_AT)
set(ARGS_EXCLUDE_DEPRECATED_BEFORE_AND_AT 0)
elseif(ARGS_EXCLUDE_DEPRECATED_BEFORE_AND_AT STREQUAL "CURRENT")
@@ -771,9 +766,7 @@ function(ecm_generate_export_header target)
# for older cmake verions we have to manually append our generated content
# for newer we use CUSTOM_CONTENT_FROM_VARIABLE
set(_custom_content_args)
- if (NOT CMAKE_VERSION VERSION_LESS 3.7)
- set(_custom_content_args CUSTOM_CONTENT_FROM_VARIABLE _output)
- endif()
+ set(_custom_content_args CUSTOM_CONTENT_FROM_VARIABLE _output)
generate_export_header(${target}
BASE_NAME ${ARGS_BASE_NAME}
DEPRECATED_MACRO_NAME "${_macro_base_name}_DECL_DEPRECATED"
@@ -786,14 +779,13 @@ function(ecm_generate_export_header target)
${_custom_content_args}
)
- if (CMAKE_VERSION VERSION_LESS 3.7)
- if (ARGS_INCLUDE_GUARD_NAME)
- set(_include_guard "ECM_GENERATEEXPORTHEADER_${ARGS_INCLUDE_GUARD_NAME}")
- else()
- set(_include_guard "ECM_GENERATEEXPORTHEADER_${_upper_base_name}_EXPORT_H")
- endif()
+ if (ARGS_INCLUDE_GUARD_NAME)
+ set(_include_guard "ECM_GENERATEEXPORTHEADER_${ARGS_INCLUDE_GUARD_NAME}")
+ else()
+ set(_include_guard "ECM_GENERATEEXPORTHEADER_${_upper_base_name}_EXPORT_H")
+ endif()
- file(APPEND ${_header_work_file} "
+ file(APPEND ${_header_work_file} "
#ifndef ${_include_guard}
#define ${_include_guard}
@@ -802,8 +794,7 @@ ${_output}
#endif /* ${_include_guard} */
"
- )
- endif()
+ )
# avoid rebuilding if there was no change
execute_process(
diff --git a/modules/ECMGeneratePkgConfigFile.cmake b/modules/ECMGeneratePkgConfigFile.cmake
index fde6e5d9..2fb45c83 100644
--- a/modules/ECMGeneratePkgConfigFile.cmake
+++ b/modules/ECMGeneratePkgConfigFile.cmake
@@ -61,8 +61,7 @@ subsequent calls.
To properly use this macro a version needs to be set. To retrieve it,
``ECM_PKGCONFIG_INSTALL_DIR`` uses ``PROJECT_VERSION``. To set it, use the
-project() command (only available since CMake 3.0) or the ecm_setup_version()
-macro.
+project() command or the ecm_setup_version() macro
Example usage:
diff --git a/modules/ECMGeneratePriFile.cmake b/modules/ECMGeneratePriFile.cmake
index c679cbd9..63139aef 100644
--- a/modules/ECMGeneratePriFile.cmake
+++ b/modules/ECMGeneratePriFile.cmake
@@ -122,7 +122,7 @@ function(ECM_GENERATE_PRI_FILE)
message(FATAL_ERROR "Unknown keywords given to ECM_GENERATE_PRI_FILE(): \"${EGPF_UNPARSED_ARGUMENTS}\"")
endif()
- if("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.83.0")
+ if(ECM_GLOBAL_FIND_VERSION VERSION_LESS 5.83.0)
set(_support_backward_compat_version_string_var TRUE)
else()
set(_support_backward_compat_version_string_var FALSE)
diff --git a/modules/ECMPackageConfigHelpers.cmake b/modules/ECMPackageConfigHelpers.cmake
index 6bff6927..f320ebc2 100644
--- a/modules/ECMPackageConfigHelpers.cmake
+++ b/modules/ECMPackageConfigHelpers.cmake
@@ -59,9 +59,7 @@ include(${CMAKE_ROOT}/Modules/CMakePackageConfigHelpers.cmake)
set(_ecm_package_config_helpers_included TRUE)
-if(NOT CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 2.8.13)
- message(AUTHOR_WARNING "Your project already requires a version of CMake that includes the find_dependency macro via the CMakeFindDependencyMacro module. You should use CMakePackageConfigHelpers instead of ECMPackageConfigHelpers.")
-endif()
+message(AUTHOR_WARNING "Your project already requires a version of CMake that includes the find_dependency macro via the CMakeFindDependencyMacro module. You should use CMakePackageConfigHelpers instead of ECMPackageConfigHelpers.")
function(ECM_CONFIGURE_PACKAGE_CONFIG_FILE _inputFile _outputFile)
set(options NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO)
diff --git a/modules/ECMSetupQtPluginMacroNames.cmake b/modules/ECMSetupQtPluginMacroNames.cmake
index 632149ca..348ad38e 100644
--- a/modules/ECMSetupQtPluginMacroNames.cmake
+++ b/modules/ECMSetupQtPluginMacroNames.cmake
@@ -111,42 +111,34 @@ macro(ecm_setup_qtplugin_macro_names)
endif()
# CMAKE_AUTOMOC_MACRO_NAMES
- if(NOT CMAKE_VERSION VERSION_LESS "3.10.0")
- # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros.
- # 3.10+ lets us provide more macro names that require automoc.
- list(APPEND CMAKE_AUTOMOC_MACRO_NAMES
- ${ESQMN_JSON_NONE}
- ${ESQMN_JSON_ARG1}
- ${ESQMN_JSON_ARG2}
- ${ESQMN_JSON_ARG3}
- )
- endif()
+ list(APPEND CMAKE_AUTOMOC_MACRO_NAMES
+ ${ESQMN_JSON_NONE}
+ ${ESQMN_JSON_ARG1}
+ ${ESQMN_JSON_ARG2}
+ ${ESQMN_JSON_ARG3}
+ )
# CMAKE_AUTOMOC_DEPEND_FILTERS
- if(NOT CMAKE_VERSION VERSION_LESS "3.9.0")
- # CMake's automoc needs help to find names of plugin metadata files in case Q_PLUGIN_METADATA
- # is indirectly used via other C++ preprocessor macros
- # 3.9+ lets us provide some filter rule pairs (keyword, regexp) to match the names of such files
- # in the plain text of the sources. See AUTOMOC_DEPEND_FILTERS docs for details.
- foreach(macro_name ${ESQMN_JSON_ARG1})
- list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
- "${macro_name}"
- "[\n^][ \t]*${macro_name}[ \t\n]*\\([ \t\n]*\"([^\"]+)\""
- )
- endforeach()
- foreach(macro_name ${ESQMN_JSON_ARG2})
- list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
- "${macro_name}"
- "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[ \t\n]*\"([^\"]+)\""
- )
- endforeach()
- foreach(macro_name ${ESQMN_JSON_ARG3})
- list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
- "${macro_name}"
- "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[^,]*,[ \t\n]*\"([^\"]+)\""
- )
- endforeach()
- endif()
+ # CMake's automoc needs help to find names of plugin metadata files in case Q_PLUGIN_METADATA
+ # is indirectly used via other C++ preprocessor macros
+ foreach(macro_name ${ESQMN_JSON_ARG1})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ "${macro_name}"
+ "[\n^][ \t]*${macro_name}[ \t\n]*\\([ \t\n]*\"([^\"]+)\""
+ )
+ endforeach()
+ foreach(macro_name ${ESQMN_JSON_ARG2})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ "${macro_name}"
+ "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[ \t\n]*\"([^\"]+)\""
+ )
+ endforeach()
+ foreach(macro_name ${ESQMN_JSON_ARG3})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ "${macro_name}"
+ "[\n^][ \t]*${macro_name}[ \t\n]*\\([^,]*,[^,]*,[ \t\n]*\"([^\"]+)\""
+ )
+ endforeach()
if (ESQMN_CONFIG_CODE_VARIABLE)
set(_content
@@ -160,52 +152,46 @@ macro(ecm_setup_qtplugin_macro_names)
${ESQMN_JSON_ARG3}
)
string(APPEND _content "
-if(NOT CMAKE_VERSION VERSION_LESS \"3.10.0\")
- # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros.
- # 3.10+ lets us provide more macro names that require automoc.
- list(APPEND CMAKE_AUTOMOC_MACRO_NAMES ${_all_macro_names})
-endif()
+# CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros.
+# 3.10+ lets us provide more macro names that require automoc.
+list(APPEND CMAKE_AUTOMOC_MACRO_NAMES ${_all_macro_names})
")
if(ESQMN_JSON_ARG1 OR ESQMN_JSON_ARG2 OR ESQMN_JSON_ARG3)
string(APPEND _content "
-if(NOT CMAKE_VERSION VERSION_LESS \"3.9.0\")
- # CMake's automoc needs help to find names of plugin metadata files in case Q_PLUGIN_METADATA
- # is indirectly used via other C++ preprocessor macros
- # 3.9+ lets us provide some filter rule pairs (keyword, regexp) to match the names of such files
- # in the plain text of the sources. See AUTOMOC_DEPEND_FILTERS docs for details.
+# CMake's automoc needs help to find names of plugin metadata files in case Q_PLUGIN_METADATA
+# is indirectly used via other C++ preprocessor macros
")
if(ESQMN_JSON_ARG1)
string(APPEND _content
-" foreach(macro_name ${ESQMN_JSON_ARG1})
- list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
- \"\${macro_name}\"
- \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([ \\t\\n]*\\\"([^\\\"]+)\\\"\"
- )
- endforeach()
+"foreach(macro_name ${ESQMN_JSON_ARG1})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ \"\${macro_name}\"
+ \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([ \\t\\n]*\\\"([^\\\"]+)\\\"\"
+ )
+endforeach()
")
endif()
if(ESQMN_JSON_ARG2)
string(APPEND _content
-" foreach(macro_name ${ESQMN_JSON_ARG2})
- list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
- \"\${macro_name}\"
- \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([^,]*,[ \\t\\n]*\\\"([^\\\"]+)\\\"\"
- )
- endforeach()
+"foreach(macro_name ${ESQMN_JSON_ARG2})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ \"\${macro_name}\"
+ \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([^,]*,[ \\t\\n]*\\\"([^\\\"]+)\\\"\"
+ )
+endforeach()
")
endif()
if(ESQMN_JSON_ARG3)
string(APPEND _content
-" foreach(macro_name ${ESQMN_JSON_ARG3})
- list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
- \"\${macro_name}\"
- \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([^,]*,[^,]*,[ \\t\\n]*\\\"([^\\\"]+)\\\"\"
- )
- endforeach()
+"foreach(macro_name ${ESQMN_JSON_ARG3})
+ list(APPEND CMAKE_AUTOMOC_DEPEND_FILTERS
+ \"\${macro_name}\"
+ \"[\\n^][ \\t]*\${macro_name}[ \\t\\n]*\\\\([^,]*,[^,]*,[ \\t\\n]*\\\"([^\\\"]+)\\\"\"
+ )
+endforeach()
")
endif()
- string(APPEND _content "endif()")
endif()
string(APPEND _content "
####################################################################################"
diff --git a/modules/ECMSetupVersion.cmake b/modules/ECMSetupVersion.cmake
index b67ed0d0..f4b2e700 100644
--- a/modules/ECMSetupVersion.cmake
+++ b/modules/ECMSetupVersion.cmake
@@ -110,12 +110,7 @@ function(ecm_setup_version _version)
set(project_manages_version FALSE)
set(use_project_version FALSE)
- # CMP0048 only exists in CMake 3.0.0 and later
- if(CMAKE_VERSION VERSION_LESS 3.0.0)
- set(project_version_policy "OLD")
- else()
- cmake_policy(GET CMP0048 project_version_policy)
- endif()
+ cmake_policy(GET CMP0048 project_version_policy)
if(project_version_policy STREQUAL "NEW")
set(project_manages_version TRUE)
if(_version STREQUAL "PROJECT")
@@ -150,7 +145,7 @@ function(ecm_setup_version _version)
set(ESV_SOVERSION ${_major})
endif()
- if("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.83.0")
+ if(ECM_GLOBAL_FIND_VERSION VERSION_LESS 5.83.0)
set(_set_backward_compat_version_string_vars TRUE)
else()
set(_set_backward_compat_version_string_vars FALSE)
diff --git a/tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake b/tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake
index 48f8a52e..1f95999c 100644
--- a/tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake
+++ b/tests/ECMGenerateExportHeaderTest/consumer/testAPI_DISABLE_DEPRECATED_BEFORE_AND_AT.cmake
@@ -6,9 +6,7 @@ function(generate_hex_number _var_name _version)
string(REGEX REPLACE ${version_regex} "\\2" _version_minor "${_version}")
string(REGEX REPLACE ${version_regex} "\\3" _version_patch "${_version}")
set(_outputformat)
- if (NOT CMAKE_VERSION VERSION_LESS 3.13)
- set(_outputformat OUTPUT_FORMAT HEXADECIMAL)
- endif()
+ set(_outputformat OUTPUT_FORMAT HEXADECIMAL)
math(EXPR _hexnumber "${_version_major}*65536 + ${_version_minor}*256 + ${_version_patch}" ${_outputformat})
set(${_var_name} ${_hexnumber} PARENT_SCOPE)
endfunction()
diff --git a/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt b/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt
index bcb681d2..428a372a 100644
--- a/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt
+++ b/tests/ECMGenerateExportHeaderTest/format_version/CMakeLists.txt
@@ -36,11 +36,7 @@ ecm_export_header_format_version(1.2.3
)
assert_var_str_value(_versionstring "1.2.3")
-if (NOT CMAKE_VERSION VERSION_LESS 3.13)
- assert_var_str_value(_hexnumber "0x10203")
-else()
- assert_var_str_value(_hexnumber "66051")
-endif()
+assert_var_str_value(_hexnumber "0x10203")
# check some version: no CURRENT_VERSION
ecm_export_header_format_version(1.2.3
@@ -49,11 +45,7 @@ ecm_export_header_format_version(1.2.3
)
assert_var_str_value(_versionstring "1.2.3")
-if (NOT CMAKE_VERSION VERSION_LESS 3.13)
- assert_var_str_value(_hexnumber "0x10203")
-else()
- assert_var_str_value(_hexnumber "66051")
-endif()
+assert_var_str_value(_hexnumber "0x10203")
# check CURRENT
ecm_export_header_format_version(CURRENT
@@ -63,10 +55,6 @@ ecm_export_header_format_version(CURRENT
)
assert_var_str_value(_versionstring "4.5.6")
-if (NOT CMAKE_VERSION VERSION_LESS 3.13)
- assert_var_str_value(_hexnumber "0x40506")
-else()
- assert_var_str_value(_hexnumber "263430")
-endif()
+assert_var_str_value(_hexnumber "0x40506")
add_executable(dummy main.cpp)
diff --git a/tests/ECMSetupVersionTest/version_helpers.cmake b/tests/ECMSetupVersionTest/version_helpers.cmake
index 6254322f..d8497c9f 100644
--- a/tests/ECMSetupVersionTest/version_helpers.cmake
+++ b/tests/ECMSetupVersionTest/version_helpers.cmake
@@ -43,7 +43,7 @@ endmacro()
macro(version_var_checks prefix version)
assert_var_str_value(${prefix}_VERSION "${version}")
- if("${ECM_GLOBAL_FIND_VERSION}" VERSION_LESS "5.83.0")
+ if(ECM_GLOBAL_FIND_VERSION VERSION_LESS 5.83.0)
assert_var_str_value(${prefix}_VERSION_STRING "${version}")
endif()
if("${version}" MATCHES "^([0-9]+)")