aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2022-01-28 08:59:14 +0100
committerEike Ziller <[email protected]>2022-02-02 08:55:31 +0000
commit1221552377a5fa63d2f5f4364397ebbcec7a27cf (patch)
tree8e8aa9b9c7f4952b1ed7634cb1e4e953d16d204f
parent275dcc8f8aae242c2260454543cbaa51508dae0c (diff)
Require CMake 3.16 and remove workarounds
CMake 3.16 is available on the major Linux distributions nowadays, so we can get rid of some workarounds. Change-Id: I32500375748f33c3e40fbd7a08824d823f817a8f Reviewed-by: Cristian Adam <[email protected]> Reviewed-by: Qt CI Bot <[email protected]>
-rw-r--r--CMakeLists.txt15
-rw-r--r--cmake/QtCreatorAPI.cmake25
-rw-r--r--cmake/QtCreatorAPIInternal.cmake35
-rw-r--r--share/qtcreator/translations/CMakeLists.txt22
-rw-r--r--src/libs/qtcreatorcdbext/CMakeLists.txt20
-rw-r--r--src/tools/iostool/CMakeLists.txt6
-rw-r--r--src/tools/sdktool/CMakeLists.txt2
-rw-r--r--src/tools/wininterrupt/CMakeLists.txt2
-rw-r--r--tests/auto/debugger/CMakeLists.txt2
-rw-r--r--tests/manual/qml/testprojects/modulemapping/CMakeLists.txt2
-rw-r--r--tests/unit/CMakeLists.txt2
11 files changed, 29 insertions, 104 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c226f78bdbb..c6f603c7981 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
## Add paths to check for cmake modules:
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
@@ -138,15 +138,8 @@ endif()
add_subdirectory(doc)
-# TODO: Remove when cmake_minimum_required greater than 3.12
-if (CMAKE_VERSION VERSION_GREATER 3.12)
- find_package(Python3 COMPONENTS Interpreter)
- set(PYTHONINTERP_FOUND ${Python3_Interpreter_FOUND})
- set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
-else()
- find_package(PythonInterp)
-endif()
-if (NOT PYTHONINTERP_FOUND)
+find_package(Python3 COMPONENTS Interpreter)
+if (NOT Python3_Interpreter_FOUND)
message("No python interpreter found, skipping \"Dependencies\" install component.")
else()
get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
@@ -161,7 +154,7 @@ else()
endif()
install(CODE "
execute_process(COMMAND
- \"${PYTHON_EXECUTABLE}\"
+ \"${Python3_EXECUTABLE}\"
\"${CMAKE_CURRENT_LIST_DIR}/scripts/deployqt.py\"
${_llvm_arg}
${_elfutils_arg}
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake
index 566f5883d46..194852d6b7f 100644
--- a/cmake/QtCreatorAPI.cmake
+++ b/cmake/QtCreatorAPI.cmake
@@ -155,20 +155,6 @@ function(add_qtc_library name)
return()
endif()
- # TODO copied from extend_qtc_target.
- # Instead require CMake 3.11 and use extend_qtc_target for setting SOURCES.
- # Requiring cmake 3.11 is necessary because before that add_library requires
- # at least one source file.
- if (_arg_SOURCES_PREFIX)
- foreach(source IN LISTS _arg_SOURCES)
- list(APPEND prefixed_sources "${_arg_SOURCES_PREFIX}/${source}")
- endforeach()
- if (NOT IS_ABSOLUTE ${_arg_SOURCES_PREFIX})
- set(_arg_SOURCES_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_SOURCES_PREFIX}")
- endif()
- set(_arg_SOURCES ${prefixed_sources})
- endif()
-
set(library_type SHARED)
if (_arg_STATIC)
set(library_type STATIC)
@@ -177,16 +163,9 @@ function(add_qtc_library name)
set(library_type OBJECT)
endif()
- add_library(${name} ${library_type} ${_arg_SOURCES})
+ add_library(${name} ${library_type})
add_library(QtCreator::${name} ALIAS ${name})
- set_public_headers(${name} "${_arg_SOURCES}")
-
- # TODO remove, see above
- if (_arg_SOURCES_PREFIX)
- target_include_directories(${name} PRIVATE $<BUILD_INTERFACE:${_arg_SOURCES_PREFIX}>)
- endif()
-
if (${name} MATCHES "^[^0-9-]+$")
string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL)
endif()
@@ -201,6 +180,8 @@ function(add_qtc_library name)
endif()
extend_qtc_target(${name}
+ SOURCES_PREFIX ${_arg_SOURCES_PREFIX}
+ SOURCES ${_arg_SOURCES}
INCLUDES ${_arg_INCLUDES}
PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES}
DEFINES ${EXPORT_SYMBOL} ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES}
diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake
index 7c16d1dd2eb..86fe1c0d939 100644
--- a/cmake/QtCreatorAPIInternal.cmake
+++ b/cmake/QtCreatorAPIInternal.cmake
@@ -1,5 +1,5 @@
if (CMAKE_VERSION VERSION_LESS 3.18)
- if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_VERSION VERSION_LESS 3.16)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL GNU)
set(BUILD_WITH_PCH OFF CACHE BOOL "" FORCE)
endif()
endif()
@@ -183,31 +183,6 @@ function(update_cached_list name value)
set("${name}" "${_tmp_list}" CACHE INTERNAL "*** Internal ***")
endfunction()
-function(separate_object_libraries libraries REGULAR_LIBS OBJECT_LIBS OBJECT_LIB_OBJECTS)
- if (CMAKE_VERSION VERSION_LESS 3.14)
- foreach(lib IN LISTS libraries)
- if (TARGET ${lib})
- get_target_property(lib_type ${lib} TYPE)
- if (lib_type STREQUAL "OBJECT_LIBRARY")
- list(APPEND object_libs ${lib})
- list(APPEND object_libs_objects $<TARGET_OBJECTS:${lib}>)
- else()
- list(APPEND regular_libs ${lib})
- endif()
- else()
- list(APPEND regular_libs ${lib})
- endif()
- set(${REGULAR_LIBS} ${regular_libs} PARENT_SCOPE)
- set(${OBJECT_LIBS} ${object_libs} PARENT_SCOPE)
- set(${OBJECT_LIB_OBJECTS} ${object_libs_objects} PARENT_SCOPE)
- endforeach()
- else()
- set(${REGULAR_LIBS} ${libraries} PARENT_SCOPE)
- unset(${OBJECT_LIBS} PARENT_SCOPE)
- unset(${OBJECT_LIB_OBJECTS} PARENT_SCOPE)
- endif()
-endfunction(separate_object_libraries)
-
function(set_explicit_moc target_name file)
unset(file_dependencies)
if (file MATCHES "^.*plugin.h$")
@@ -293,12 +268,8 @@ function(add_qtc_depends target_name)
check_qtc_disabled_targets(${target_name} _arg_PRIVATE)
check_qtc_disabled_targets(${target_name} _arg_PUBLIC)
- separate_object_libraries("${_arg_PRIVATE}"
- depends object_lib_depends object_lib_depends_objects)
- separate_object_libraries("${_arg_PUBLIC}"
- public_depends object_public_depends object_public_depends_objects)
-
- target_sources(${target_name} PRIVATE ${object_lib_depends_objects} ${object_public_depends_objects})
+ set(depends "${_arg_PRIVATE}")
+ set(public_depends "${_arg_PUBLIC}")
get_target_property(target_type ${target_name} TYPE)
if (NOT target_type STREQUAL "OBJECT_LIBRARY")
diff --git a/share/qtcreator/translations/CMakeLists.txt b/share/qtcreator/translations/CMakeLists.txt
index 648f885b771..f32138e7791 100644
--- a/share/qtcreator/translations/CMakeLists.txt
+++ b/share/qtcreator/translations/CMakeLists.txt
@@ -1,27 +1,19 @@
set(languages cs da de fr hr ja pl ru sl uk zh_CN zh_TW)
set(bad_languages hu) # Fix these before including them in languages!
-# TODO: Remove when cmake_minimum_required greater than 3.12
-if (CMAKE_VERSION VERSION_GREATER 3.12)
- find_package(Python3 COMPONENTS Interpreter)
- set(PYTHONINTERP_FOUND ${Python3_Interpreter_FOUND})
- set(PYTHON_VERSION_STRING ${Python3_VERSION})
- set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
-else()
- find_package(PythonInterp)
-endif()
+find_package(Python3 COMPONENTS Interpreter)
set(json_wizards_h "")
set(custom_wizards_h "")
set(externaltools_h "")
set(snippets_h "")
-if (NOT PYTHONINTERP_FOUND OR NOT PYTHON_VERSION_STRING VERSION_GREATER_EQUAL "3.0.0")
- message(WARNING "No python3 interpreter found, skipping extraction of data from XML and JSON files.\n *** Please pass -DPYTHON_EXECUTABLE=/path/to/python3 to cmake.")
+if (NOT Python3_Interpreter_FOUND)
+ message(WARNING "No python3 interpreter found, skipping extraction of data from XML and JSON files.\n *** Please pass -DPython3_EXECUTABLE=/path/to/python3 to cmake.")
else()
set(json_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/jsonwizards_tr.h")
add_custom_command(OUTPUT "${json_wizards_h}"
- COMMAND "${PYTHON_EXECUTABLE}"
+ COMMAND "${Python3_EXECUTABLE}"
"${CMAKE_CURRENT_SOURCE_DIR}/extract-jsonwizards.py"
"${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${json_wizards_h}"
COMMENT Generate translation data from JSON wizards
@@ -29,7 +21,7 @@ else()
set(custom_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/customwizards_tr.h")
add_custom_command(OUTPUT "${custom_wizards_h}"
- COMMAND "${PYTHON_EXECUTABLE}"
+ COMMAND "${Python3_EXECUTABLE}"
"${CMAKE_CURRENT_SOURCE_DIR}/extract-customwizards.py"
"${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${custom_wizards_h}"
COMMENT Generate translation data from XML wizards
@@ -37,7 +29,7 @@ else()
set(externaltools_h "${CMAKE_CURRENT_BINARY_DIR}/externaltools_tr.h")
add_custom_command(OUTPUT "${externaltools_h}"
- COMMAND "${PYTHON_EXECUTABLE}"
+ COMMAND "${Python3_EXECUTABLE}"
"${CMAKE_CURRENT_SOURCE_DIR}/extract-externaltools.py"
"${PROJECT_SOURCE_DIR}/src/share/qtcreator/externaltools" "${externaltools_h}"
COMMENT Generate translation data from external tools definitions
@@ -45,7 +37,7 @@ else()
set(snippets_h "${CMAKE_CURRENT_BINARY_DIR}/snippets_tr.h")
add_custom_command(OUTPUT "${snippets_h}"
- COMMAND "${PYTHON_EXECUTABLE}"
+ COMMAND "${Python3_EXECUTABLE}"
"${CMAKE_CURRENT_SOURCE_DIR}/extract-snippets.py"
"${PROJECT_SOURCE_DIR}/share/qtcreator/snippets" "${snippets_h}"
COMMENT Generate translation data from snippets definitions
diff --git a/src/libs/qtcreatorcdbext/CMakeLists.txt b/src/libs/qtcreatorcdbext/CMakeLists.txt
index 5b03103bc88..3797afd1cf2 100644
--- a/src/libs/qtcreatorcdbext/CMakeLists.txt
+++ b/src/libs/qtcreatorcdbext/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
@@ -60,17 +60,9 @@ add_qtc_library(qtcreatorcdbext
qtc_library_enabled(_library_enabled qtcreatorcdbext)
if (_library_enabled)
- # TODO: Remove when cmake_minimum_required greater than 3.12
- if (CMAKE_VERSION VERSION_GREATER 3.12)
- find_package(Python3 3.8 COMPONENTS Development)
- set(PYTHONLIBS_FOUND ${Python3_Development_FOUND})
- set(PYTHON_LIBRARIES ${Python3_LIBRARIES})
- set(PYTHON_INCLUDE_DIR ${Python3_INCLUDE_DIRS})
- else()
- find_package(PythonLibs 3.8)
- endif()
+ find_package(Python3 3.8 COMPONENTS Development)
- if (NOT ${PYTHONLIBS_FOUND})
+ if (NOT ${Python3_Development_FOUND})
message(WARNING "PythonLibs (at least version 3.8) not found. qtcreatorcdbext will be built without Python support.")
return()
endif()
@@ -80,7 +72,7 @@ if (_library_enabled)
set(PythonRegex "^(.*)/(.*)/(python([0-9]+)_d)${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
endif()
- foreach(lib IN LISTS PYTHON_LIBRARIES)
+ foreach(lib IN LISTS Python3_LIBRARIES)
if (lib MATCHES ${PythonRegex})
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(PythonZipFileName "python${CMAKE_MATCH_4}_d.zip")
@@ -105,8 +97,8 @@ if (_library_enabled)
endif()
extend_qtc_library(qtcreatorcdbext
- DEPENDS "${PYTHON_LIBRARIES}"
- INCLUDES "${PYTHON_INCLUDE_DIR}"
+ DEPENDS "${Python3_LIBRARIES}"
+ INCLUDES "${Python3_INCLUDE_DIRS}"
DEFINES WITH_PYTHON=1
SOURCES
pycdbextmodule.cpp pycdbextmodule.h
diff --git a/src/tools/iostool/CMakeLists.txt b/src/tools/iostool/CMakeLists.txt
index 230f5b91f43..e02bf7463d4 100644
--- a/src/tools/iostool/CMakeLists.txt
+++ b/src/tools/iostool/CMakeLists.txt
@@ -21,9 +21,5 @@ add_qtc_executable(iostool
)
if (TARGET iostool)
- if (CMAKE_VERSION VERSION_LESS 3.13)
- target_link_libraries(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist")
- else()
- target_link_options(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist")
- endif()
+ target_link_options(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist")
endif()
diff --git a/src/tools/sdktool/CMakeLists.txt b/src/tools/sdktool/CMakeLists.txt
index 486ec21d071..7726969b307 100644
--- a/src/tools/sdktool/CMakeLists.txt
+++ b/src/tools/sdktool/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
diff --git a/src/tools/wininterrupt/CMakeLists.txt b/src/tools/wininterrupt/CMakeLists.txt
index b16e2e1e65b..4a41fa7b08f 100644
--- a/src/tools/wininterrupt/CMakeLists.txt
+++ b/src/tools/wininterrupt/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
diff --git a/tests/auto/debugger/CMakeLists.txt b/tests/auto/debugger/CMakeLists.txt
index bde1800a637..5ab4c63f244 100644
--- a/tests/auto/debugger/CMakeLists.txt
+++ b/tests/auto/debugger/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
if (NOT QT_CREATOR_API_DEFINED)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
diff --git a/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt b/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt
index a138dd3f98a..4160cc976c3 100644
--- a/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt
+++ b/tests/manual/qml/testprojects/modulemapping/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.13)
+cmake_minimum_required(VERSION 3.16)
project(test_project)
add_executable(test_exe test.cc test.qml)
diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt
index f6712030bdb..815b20fa182 100644
--- a/tests/unit/CMakeLists.txt
+++ b/tests/unit/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.10)
+cmake_minimum_required(VERSION 3.16)
if (NOT QT_CREATOR_API_DEFINED)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")