forked from qt-creator/qt-creator
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 <cristian.adam@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
## Add paths to check for cmake modules:
|
## Add paths to check for cmake modules:
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
||||||
@@ -138,15 +138,8 @@ endif()
|
|||||||
|
|
||||||
add_subdirectory(doc)
|
add_subdirectory(doc)
|
||||||
|
|
||||||
# TODO: Remove when cmake_minimum_required greater than 3.12
|
find_package(Python3 COMPONENTS Interpreter)
|
||||||
if (CMAKE_VERSION VERSION_GREATER 3.12)
|
if (NOT Python3_Interpreter_FOUND)
|
||||||
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)
|
|
||||||
message("No python interpreter found, skipping \"Dependencies\" install component.")
|
message("No python interpreter found, skipping \"Dependencies\" install component.")
|
||||||
else()
|
else()
|
||||||
get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
|
get_target_property(_qmake_binary Qt5::qmake IMPORTED_LOCATION)
|
||||||
@@ -161,7 +154,7 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
install(CODE "
|
install(CODE "
|
||||||
execute_process(COMMAND
|
execute_process(COMMAND
|
||||||
\"${PYTHON_EXECUTABLE}\"
|
\"${Python3_EXECUTABLE}\"
|
||||||
\"${CMAKE_CURRENT_LIST_DIR}/scripts/deployqt.py\"
|
\"${CMAKE_CURRENT_LIST_DIR}/scripts/deployqt.py\"
|
||||||
${_llvm_arg}
|
${_llvm_arg}
|
||||||
${_elfutils_arg}
|
${_elfutils_arg}
|
||||||
|
@@ -155,20 +155,6 @@ function(add_qtc_library name)
|
|||||||
return()
|
return()
|
||||||
endif()
|
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)
|
set(library_type SHARED)
|
||||||
if (_arg_STATIC)
|
if (_arg_STATIC)
|
||||||
set(library_type STATIC)
|
set(library_type STATIC)
|
||||||
@@ -177,16 +163,9 @@ function(add_qtc_library name)
|
|||||||
set(library_type OBJECT)
|
set(library_type OBJECT)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(${name} ${library_type} ${_arg_SOURCES})
|
add_library(${name} ${library_type})
|
||||||
add_library(QtCreator::${name} ALIAS ${name})
|
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-]+$")
|
if (${name} MATCHES "^[^0-9-]+$")
|
||||||
string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL)
|
string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL)
|
||||||
endif()
|
endif()
|
||||||
@@ -201,6 +180,8 @@ function(add_qtc_library name)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
extend_qtc_target(${name}
|
extend_qtc_target(${name}
|
||||||
|
SOURCES_PREFIX ${_arg_SOURCES_PREFIX}
|
||||||
|
SOURCES ${_arg_SOURCES}
|
||||||
INCLUDES ${_arg_INCLUDES}
|
INCLUDES ${_arg_INCLUDES}
|
||||||
PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES}
|
PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES}
|
||||||
DEFINES ${EXPORT_SYMBOL} ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES}
|
DEFINES ${EXPORT_SYMBOL} ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
if (CMAKE_VERSION VERSION_LESS 3.18)
|
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)
|
set(BUILD_WITH_PCH OFF CACHE BOOL "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@@ -183,31 +183,6 @@ function(update_cached_list name value)
|
|||||||
set("${name}" "${_tmp_list}" CACHE INTERNAL "*** Internal ***")
|
set("${name}" "${_tmp_list}" CACHE INTERNAL "*** Internal ***")
|
||||||
endfunction()
|
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)
|
function(set_explicit_moc target_name file)
|
||||||
unset(file_dependencies)
|
unset(file_dependencies)
|
||||||
if (file MATCHES "^.*plugin.h$")
|
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_PRIVATE)
|
||||||
check_qtc_disabled_targets(${target_name} _arg_PUBLIC)
|
check_qtc_disabled_targets(${target_name} _arg_PUBLIC)
|
||||||
|
|
||||||
separate_object_libraries("${_arg_PRIVATE}"
|
set(depends "${_arg_PRIVATE}")
|
||||||
depends object_lib_depends object_lib_depends_objects)
|
set(public_depends "${_arg_PUBLIC}")
|
||||||
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})
|
|
||||||
|
|
||||||
get_target_property(target_type ${target_name} TYPE)
|
get_target_property(target_type ${target_name} TYPE)
|
||||||
if (NOT target_type STREQUAL "OBJECT_LIBRARY")
|
if (NOT target_type STREQUAL "OBJECT_LIBRARY")
|
||||||
|
@@ -1,27 +1,19 @@
|
|||||||
set(languages cs da de fr hr ja pl ru sl uk zh_CN zh_TW)
|
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!
|
set(bad_languages hu) # Fix these before including them in languages!
|
||||||
|
|
||||||
# TODO: Remove when cmake_minimum_required greater than 3.12
|
find_package(Python3 COMPONENTS Interpreter)
|
||||||
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()
|
|
||||||
|
|
||||||
set(json_wizards_h "")
|
set(json_wizards_h "")
|
||||||
set(custom_wizards_h "")
|
set(custom_wizards_h "")
|
||||||
set(externaltools_h "")
|
set(externaltools_h "")
|
||||||
set(snippets_h "")
|
set(snippets_h "")
|
||||||
|
|
||||||
if (NOT PYTHONINTERP_FOUND OR NOT PYTHON_VERSION_STRING VERSION_GREATER_EQUAL "3.0.0")
|
if (NOT Python3_Interpreter_FOUND)
|
||||||
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.")
|
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()
|
else()
|
||||||
set(json_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/jsonwizards_tr.h")
|
set(json_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/jsonwizards_tr.h")
|
||||||
add_custom_command(OUTPUT "${json_wizards_h}"
|
add_custom_command(OUTPUT "${json_wizards_h}"
|
||||||
COMMAND "${PYTHON_EXECUTABLE}"
|
COMMAND "${Python3_EXECUTABLE}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/extract-jsonwizards.py"
|
"${CMAKE_CURRENT_SOURCE_DIR}/extract-jsonwizards.py"
|
||||||
"${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${json_wizards_h}"
|
"${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${json_wizards_h}"
|
||||||
COMMENT Generate translation data from JSON wizards
|
COMMENT Generate translation data from JSON wizards
|
||||||
@@ -29,7 +21,7 @@ else()
|
|||||||
|
|
||||||
set(custom_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/customwizards_tr.h")
|
set(custom_wizards_h "${CMAKE_CURRENT_BINARY_DIR}/customwizards_tr.h")
|
||||||
add_custom_command(OUTPUT "${custom_wizards_h}"
|
add_custom_command(OUTPUT "${custom_wizards_h}"
|
||||||
COMMAND "${PYTHON_EXECUTABLE}"
|
COMMAND "${Python3_EXECUTABLE}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/extract-customwizards.py"
|
"${CMAKE_CURRENT_SOURCE_DIR}/extract-customwizards.py"
|
||||||
"${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${custom_wizards_h}"
|
"${PROJECT_SOURCE_DIR}/share/qtcreator/templates/wizards" "${custom_wizards_h}"
|
||||||
COMMENT Generate translation data from XML wizards
|
COMMENT Generate translation data from XML wizards
|
||||||
@@ -37,7 +29,7 @@ else()
|
|||||||
|
|
||||||
set(externaltools_h "${CMAKE_CURRENT_BINARY_DIR}/externaltools_tr.h")
|
set(externaltools_h "${CMAKE_CURRENT_BINARY_DIR}/externaltools_tr.h")
|
||||||
add_custom_command(OUTPUT "${externaltools_h}"
|
add_custom_command(OUTPUT "${externaltools_h}"
|
||||||
COMMAND "${PYTHON_EXECUTABLE}"
|
COMMAND "${Python3_EXECUTABLE}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/extract-externaltools.py"
|
"${CMAKE_CURRENT_SOURCE_DIR}/extract-externaltools.py"
|
||||||
"${PROJECT_SOURCE_DIR}/src/share/qtcreator/externaltools" "${externaltools_h}"
|
"${PROJECT_SOURCE_DIR}/src/share/qtcreator/externaltools" "${externaltools_h}"
|
||||||
COMMENT Generate translation data from external tools definitions
|
COMMENT Generate translation data from external tools definitions
|
||||||
@@ -45,7 +37,7 @@ else()
|
|||||||
|
|
||||||
set(snippets_h "${CMAKE_CURRENT_BINARY_DIR}/snippets_tr.h")
|
set(snippets_h "${CMAKE_CURRENT_BINARY_DIR}/snippets_tr.h")
|
||||||
add_custom_command(OUTPUT "${snippets_h}"
|
add_custom_command(OUTPUT "${snippets_h}"
|
||||||
COMMAND "${PYTHON_EXECUTABLE}"
|
COMMAND "${Python3_EXECUTABLE}"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/extract-snippets.py"
|
"${CMAKE_CURRENT_SOURCE_DIR}/extract-snippets.py"
|
||||||
"${PROJECT_SOURCE_DIR}/share/qtcreator/snippets" "${snippets_h}"
|
"${PROJECT_SOURCE_DIR}/share/qtcreator/snippets" "${snippets_h}"
|
||||||
COMMENT Generate translation data from snippets definitions
|
COMMENT Generate translation data from snippets definitions
|
||||||
|
@@ -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")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
|
||||||
|
|
||||||
@@ -60,17 +60,9 @@ add_qtc_library(qtcreatorcdbext
|
|||||||
|
|
||||||
qtc_library_enabled(_library_enabled qtcreatorcdbext)
|
qtc_library_enabled(_library_enabled qtcreatorcdbext)
|
||||||
if (_library_enabled)
|
if (_library_enabled)
|
||||||
# TODO: Remove when cmake_minimum_required greater than 3.12
|
find_package(Python3 3.8 COMPONENTS Development)
|
||||||
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()
|
|
||||||
|
|
||||||
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.")
|
message(WARNING "PythonLibs (at least version 3.8) not found. qtcreatorcdbext will be built without Python support.")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
@@ -80,7 +72,7 @@ if (_library_enabled)
|
|||||||
set(PythonRegex "^(.*)/(.*)/(python([0-9]+)_d)${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
|
set(PythonRegex "^(.*)/(.*)/(python([0-9]+)_d)${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach(lib IN LISTS PYTHON_LIBRARIES)
|
foreach(lib IN LISTS Python3_LIBRARIES)
|
||||||
if (lib MATCHES ${PythonRegex})
|
if (lib MATCHES ${PythonRegex})
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
set(PythonZipFileName "python${CMAKE_MATCH_4}_d.zip")
|
set(PythonZipFileName "python${CMAKE_MATCH_4}_d.zip")
|
||||||
@@ -105,8 +97,8 @@ if (_library_enabled)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
extend_qtc_library(qtcreatorcdbext
|
extend_qtc_library(qtcreatorcdbext
|
||||||
DEPENDS "${PYTHON_LIBRARIES}"
|
DEPENDS "${Python3_LIBRARIES}"
|
||||||
INCLUDES "${PYTHON_INCLUDE_DIR}"
|
INCLUDES "${Python3_INCLUDE_DIRS}"
|
||||||
DEFINES WITH_PYTHON=1
|
DEFINES WITH_PYTHON=1
|
||||||
SOURCES
|
SOURCES
|
||||||
pycdbextmodule.cpp pycdbextmodule.h
|
pycdbextmodule.cpp pycdbextmodule.h
|
||||||
|
@@ -21,9 +21,5 @@ add_qtc_executable(iostool
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (TARGET iostool)
|
if (TARGET iostool)
|
||||||
if (CMAKE_VERSION VERSION_LESS 3.13)
|
target_link_options(iostool PRIVATE "-Wl,-sectcreate,__TEXT,__info_plist,${CMAKE_CURRENT_SOURCE_DIR}/Info.plist")
|
||||||
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()
|
|
||||||
endif()
|
endif()
|
||||||
|
@@ -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")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
|
||||||
|
|
||||||
|
@@ -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")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
if (NOT QT_CREATOR_API_DEFINED)
|
if (NOT QT_CREATOR_API_DEFINED)
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../cmake")
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
project(test_project)
|
project(test_project)
|
||||||
|
|
||||||
add_executable(test_exe test.cc test.qml)
|
add_executable(test_exe test.cc test.qml)
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
|
||||||
if (NOT QT_CREATOR_API_DEFINED)
|
if (NOT QT_CREATOR_API_DEFINED)
|
||||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
|
||||||
|
Reference in New Issue
Block a user