aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2021-04-06 15:17:40 +0200
committerEike Ziller <eike.ziller@qt.io>2021-04-06 15:17:40 +0200
commitc0cfafdd3dd89fce9d39e63b0a6f561a09d72007 (patch)
tree1173623031704547765fae32a1a8e528b1ed84a4 /cmake
parent1c50f441a22a31f825ee43fa19c411648f290571 (diff)
parenta8d9fb0e6e87f1ad4f16cb5690271f1d85a95776 (diff)
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.cmake19
-rw-r--r--cmake/QtCreatorAPI.cmake26
-rw-r--r--cmake/QtCreatorAPIInternal.cmake19
-rw-r--r--cmake/QtCreatorDocumentation.cmake5
4 files changed, 48 insertions, 21 deletions
diff --git a/cmake/FindCrashpad.cmake b/cmake/FindCrashpad.cmake
index 919ec93cd8f..8b16fd83be2 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 aefae6f7298..921106a3f6e 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 103fa6045a5..8335ae34578 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 b2cf79224e2..49bf3d2d02d 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()