diff options
author | Eike Ziller <eike.ziller@qt.io> | 2021-04-06 15:17:40 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2021-04-06 15:17:40 +0200 |
commit | c0cfafdd3dd89fce9d39e63b0a6f561a09d72007 (patch) | |
tree | 1173623031704547765fae32a1a8e528b1ed84a4 /cmake | |
parent | 1c50f441a22a31f825ee43fa19c411648f290571 (diff) | |
parent | a8d9fb0e6e87f1ad4f16cb5690271f1d85a95776 (diff) | |
download | qt-creator-c0cfafdd3dd89fce9d39e63b0a6f561a09d72007.tar.gz |
Merge remote-tracking branch 'origin/4.15'
Conflicts:
cmake/QtCreatorIDEBranding.cmake
qbs/modules/qtc/qtc.qbs
qtcreator_ide_branding.pri
src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
Change-Id: I403b236c40d73a61ae22304e289e9d4374366395
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/FindCrashpad.cmake | 19 | ||||
-rw-r--r-- | cmake/QtCreatorAPI.cmake | 26 | ||||
-rw-r--r-- | cmake/QtCreatorAPIInternal.cmake | 19 | ||||
-rw-r--r-- | cmake/QtCreatorDocumentation.cmake | 5 |
4 files changed, 48 insertions, 21 deletions
diff --git a/cmake/FindCrashpad.cmake b/cmake/FindCrashpad.cmake index 919ec93cd8..8b16fd83be 100644 --- a/cmake/FindCrashpad.cmake +++ b/cmake/FindCrashpad.cmake @@ -49,6 +49,14 @@ find_path(CRASHPAD_LIB_DIR "${CMAKE_PREFIX_PATH}" ) +find_path(CRASHPAD_GEN_DIR + NAMES build/chromeos_buildflags.h + PATH_SUFFIXES gen + HINTS + "${CRASHPAD_BIN_DIR}" + "${CMAKE_PREFIX_PATH}" +) + if(APPLE) find_path(CRASHPAD_OBJ_DIR NAMES mig_output.child_portServer.o @@ -58,13 +66,6 @@ if(APPLE) "${CRASHPAD_LIB_DIR}/out/Default" "${CMAKE_PREFIX_PATH}" ) - find_path(CRASHPAD_GEN_DIR - NAMES build/chromeos_buildflags.h - PATH_SUFFIXES gen - HINTS - "${CRASHPAD_BIN_DIR}" - "${CMAKE_PREFIX_PATH}" - ) set(CRASHPAD_APPLE_VARS CRASHPAD_OBJ_DIR CRASHPAD_GEN_DIR) find_library(FWbsm bsm) find_library(FWAppKit AppKit) @@ -81,7 +82,8 @@ if(Crashpad_FOUND) add_library(Crashpad::Crashpad UNKNOWN IMPORTED) target_include_directories(Crashpad::Crashpad INTERFACE "${CRASHPAD_INCLUDE_DIR}" - "${CRASHPAD_INCLUDE_DIR}/third_party/mini_chromium/mini_chromium") + "${CRASHPAD_INCLUDE_DIR}/third_party/mini_chromium/mini_chromium" + "${CRASHPAD_GEN_DIR}") if(WIN32) target_link_libraries(Crashpad::Crashpad INTERFACE "${CRASHPAD_LIB_DIR}/third_party/mini_chromium/mini_chromium/base/base.lib" @@ -106,7 +108,6 @@ if(Crashpad_FOUND) ${FWbsm} ${FWAppKit} ${FWIOKit} ${FWSecurity}) set_target_properties(Crashpad::Crashpad PROPERTIES IMPORTED_LOCATION "${CRASHPAD_LIB_DIR}/client/libclient.a") - target_include_directories(Crashpad::Crashpad INTERFACE "${CRASHPAD_GEN_DIR}") elseif(UNIX) # TODO: Crashpad is not well supported on linux currently target_link_libraries(Crashpad::Crashpad INTERFACE diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index aefae6f729..921106a3f6 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -18,6 +18,9 @@ set(IDE_DATA_PATH "${_IDE_DATA_PATH}") # The IDE data path (rel set(IDE_DOC_PATH "${_IDE_DOC_PATH}") # The IDE documentation path (relative to CMAKE_INSTALL_PREFIX). set(IDE_BIN_PATH "${_IDE_BIN_PATH}") # The IDE bin path (relative to CMAKE_INSTALL_PREFIX). +set(IDE_HEADER_INSTALL_PATH "${_IDE_HEADER_INSTALL_PATH}") +set(IDE_CMAKE_INSTALL_PATH "${_IDE_CMAKE_INSTALL_PATH}") + file(RELATIVE_PATH RELATIVE_PLUGIN_PATH "/${IDE_BIN_PATH}" "/${IDE_PLUGIN_PATH}") file(RELATIVE_PATH RELATIVE_LIBEXEC_PATH "/${IDE_BIN_PATH}" "/${IDE_LIBEXEC_PATH}") file(RELATIVE_PATH RELATIVE_DATA_PATH "/${IDE_BIN_PATH}" "/${IDE_DATA_PATH}") @@ -93,6 +96,14 @@ function(qtc_output_binary_dir varName) endif() endfunction() +function(qtc_source_dir varName) + if (QTC_MERGE_BINARY_DIR) + set(${varName} ${QtCreator_SOURCE_DIR} PARENT_SCOPE) + else() + set(${varName} ${PROJECT_SOURCE_DIR} PARENT_SCOPE) + endif() +endfunction() + function(add_qtc_library name) cmake_parse_arguments(_arg "STATIC;OBJECT;SKIP_TRANSLATION;ALLOW_ASCII_CASTS;UNVERSIONED;FEATURE_INFO" "DESTINATION;COMPONENT;SOURCES_PREFIX;BUILD_DEFAULT" @@ -208,7 +219,7 @@ function(add_qtc_library name) "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" PUBLIC "$<BUILD_INTERFACE:${public_build_interface_dir}>" - "$<INSTALL_INTERFACE:include/${include_dir_relative_path}>" + "$<INSTALL_INTERFACE:${IDE_HEADER_INSTALL_PATH}/${include_dir_relative_path}>" ) endif() @@ -463,7 +474,7 @@ function(add_qtc_plugin target_name) "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" PUBLIC "$<BUILD_INTERFACE:${public_build_interface_dir}>" - "$<INSTALL_INTERFACE:include/${include_dir_relative_path}>" + "$<INSTALL_INTERFACE:${IDE_HEADER_INSTALL_PATH}/${include_dir_relative_path}>" ) set(plugin_dir "${IDE_PLUGIN_PATH}") @@ -531,18 +542,18 @@ function(add_qtc_plugin target_name) # export of external plugins install(EXPORT ${export} FILE ${export}Targets.cmake - DESTINATION lib/cmake/${export} + DESTINATION ${IDE_CMAKE_INSTALL_PATH}/${export} COMPONENT Devel EXCLUDE_FROM_ALL NAMESPACE QtCreator:: ) include(CMakePackageConfigHelpers) configure_package_config_file(${_THIS_MODULE_BASE_DIR}/Config.cmake.in "${CMAKE_BINARY_DIR}/cmake/${export}Config.cmake" - INSTALL_DESTINATION lib/cmake/${export} + INSTALL_DESTINATION ${IDE_CMAKE_INSTALL_PATH}/${export} ) install( FILES ${CMAKE_BINARY_DIR}/cmake/${export}Config.cmake - DESTINATION lib/cmake/${export} + DESTINATION ${IDE_CMAKE_INSTALL_PATH}/${export} COMPONENT Devel EXCLUDE_FROM_ALL ) export(EXPORT ${export} @@ -971,12 +982,13 @@ function(qtc_add_public_header header) set(header "${CMAKE_CURRENT_SOURCE_DIR}/${header}") endif() + qtc_source_dir(qtcreator_source_dir) get_filename_component(source_dir ${header} DIRECTORY) - file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${source_dir}) + file(RELATIVE_PATH include_dir_relative_path ${qtcreator_source_dir} ${source_dir}) install( FILES ${header} - DESTINATION "include/${include_dir_relative_path}" + DESTINATION "${IDE_HEADER_INSTALL_PATH}/${include_dir_relative_path}" COMPONENT Devel EXCLUDE_FROM_ALL ) endfunction() diff --git a/cmake/QtCreatorAPIInternal.cmake b/cmake/QtCreatorAPIInternal.cmake index 103fa6045a..8335ae3457 100644 --- a/cmake/QtCreatorAPIInternal.cmake +++ b/cmake/QtCreatorAPIInternal.cmake @@ -1,5 +1,7 @@ -if (CMAKE_VERSION VERSION_LESS 3.16) - set(BUILD_WITH_PCH OFF) +if (CMAKE_VERSION VERSION_LESS 3.18) + if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_VERSION VERSION_LESS 3.16) + set(BUILD_WITH_PCH OFF) + endif() endif() include(FeatureSummary) @@ -35,7 +37,7 @@ if (APPLE) set(_IDE_APP_PATH ".") set(_IDE_APP_TARGET "${IDE_DISPLAY_NAME}") - set(_IDE_OUTPUT_PATH "${_IDE_APP_PATH}/${_IDE_APP_TARGET}.app/Contents") + set(_IDE_OUTPUT_PATH "${_IDE_APP_TARGET}.app/Contents") set(_IDE_LIBRARY_BASE_PATH "Frameworks") set(_IDE_LIBRARY_PATH "${_IDE_OUTPUT_PATH}/${_IDE_LIBRARY_BASE_PATH}") @@ -44,6 +46,9 @@ if (APPLE) set(_IDE_DATA_PATH "${_IDE_OUTPUT_PATH}/Resources") set(_IDE_DOC_PATH "${_IDE_OUTPUT_PATH}/Resources/doc") set(_IDE_BIN_PATH "${_IDE_OUTPUT_PATH}/MacOS") + + set(_IDE_HEADER_INSTALL_PATH "${_IDE_DATA_PATH}/Headers/qtcreator") + set(_IDE_CMAKE_INSTALL_PATH "${_IDE_DATA_PATH}/lib/cmake") elseif(WIN32) set(_IDE_APP_PATH "bin") set(_IDE_APP_TARGET "${IDE_ID}") @@ -55,6 +60,9 @@ elseif(WIN32) set(_IDE_DATA_PATH "share/qtcreator") set(_IDE_DOC_PATH "share/doc/qtcreator") set(_IDE_BIN_PATH "bin") + + set(_IDE_HEADER_INSTALL_PATH "include/qtcreator") + set(_IDE_CMAKE_INSTALL_PATH "lib/cmake") else () include(GNUInstallDirs) set(_IDE_APP_PATH "${CMAKE_INSTALL_BINDIR}") @@ -67,6 +75,9 @@ else () set(_IDE_DATA_PATH "${CMAKE_INSTALL_DATAROOTDIR}/qtcreator") set(_IDE_DOC_PATH "${CMAKE_INSTALL_DATAROOTDIR}/doc/qtcreator") set(_IDE_BIN_PATH "${CMAKE_INSTALL_BINDIR}") + + set(_IDE_HEADER_INSTALL_PATH "include/qtcreator") + set(_IDE_CMAKE_INSTALL_PATH "lib/cmake") endif () file(RELATIVE_PATH _PLUGIN_TO_LIB "/${_IDE_PLUGIN_PATH}" "/${_IDE_LIBRARY_PATH}") @@ -190,7 +201,7 @@ function(set_public_includes target includes) file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${inc_dir}) target_include_directories(${target} PUBLIC $<BUILD_INTERFACE:${inc_dir}> - $<INSTALL_INTERFACE:include/${include_dir_relative_path}> + $<INSTALL_INTERFACE:${_IDE_HEADER_INSTALL_PATH}/${include_dir_relative_path}> ) endforeach() endfunction() diff --git a/cmake/QtCreatorDocumentation.cmake b/cmake/QtCreatorDocumentation.cmake index b2cf79224e..49bf3d2d02 100644 --- a/cmake/QtCreatorDocumentation.cmake +++ b/cmake/QtCreatorDocumentation.cmake @@ -219,7 +219,10 @@ function(qtc_docs_dir varName) set(${varName} "${QtCreator_SOURCE_DIR}/doc" PARENT_SCOPE) elseif(QtCreatorDocumentation_LIST_DIR MATCHES /lib/cmake/QtCreator$) # Dev package - set(${varName} "${QtCreatorDocumentation_LIST_DIR}/../../../doc" PARENT_SCOPE) + file(RELATIVE_PATH relative_header_path "/${IDE_CMAKE_INSTALL_PATH}/QtCreator" "/${IDE_HEADER_INSTALL_PATH}") + set(${varName} + "${QtCreatorDocumentation_LIST_DIR}/${relative_header_path}/doc" + PARENT_SCOPE) else() message(FATAL_ERROR "Could not find qtc_docs_dir") endif() |