From ae080facf513f943727b816589eb7152fb191ba7 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 23 Apr 2020 11:00:30 +0200 Subject: [PATCH] CMake build: export less generic public includes Do not put every plugin's and lib's source folder into public includes. We require includes of the style and if someone depends on somelib or someplugin. Change-Id: I3a9f200b7c3879cf431b00a1bab4a70f7aa0a9ec Reviewed-by: Cristian Adam --- cmake/QtCreatorAPI.cmake | 11 +++++------ src/libs/clangsupport/CMakeLists.txt | 2 ++ src/libs/modelinglib/CMakeLists.txt | 2 ++ src/libs/sqlite/CMakeLists.txt | 4 +++- src/plugins/qmldesigner/CMakeLists.txt | 4 +++- src/shared/designerintegrationv2/CMakeLists.txt | 10 ++++++---- src/shared/help/CMakeLists.txt | 1 + src/tools/clangbackend/source/CMakeLists.txt | 1 + .../clangpchmanagerbackend/source/CMakeLists.txt | 1 + .../clangrefactoringbackend/source/CMakeLists.txt | 1 + 10 files changed, 25 insertions(+), 12 deletions(-) diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index 993102e139a..f6387b7919f 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -496,11 +496,11 @@ function(add_qtc_library name) file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(${name} - PRIVATE ${_arg_INCLUDES} - PUBLIC + PRIVATE + ${_arg_INCLUDES} "$" + PUBLIC "$" - "$" "$" ) set_public_includes(${name} "${_arg_PUBLIC_INCLUDES}") @@ -755,10 +755,9 @@ function(add_qtc_plugin target_name) ${_arg_INCLUDES} "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_BINARY_DIR}/src" - PUBLIC "$" + PUBLIC "$" - "$" "$" ) set_public_includes(${target_name} "${_arg_PUBLIC_INCLUDES}") @@ -886,7 +885,7 @@ function(extend_qtc_target target_name) if (NOT IS_ABSOLUTE ${_arg_SOURCES_PREFIX}) set(_arg_SOURCES_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_SOURCES_PREFIX}") endif() - target_include_directories(${target_name} PUBLIC $) + target_include_directories(${target_name} PRIVATE $) set(_arg_SOURCES ${prefixed_sources}) endif() diff --git a/src/libs/clangsupport/CMakeLists.txt b/src/libs/clangsupport/CMakeLists.txt index b7e02db6457..093213147b2 100644 --- a/src/libs/clangsupport/CMakeLists.txt +++ b/src/libs/clangsupport/CMakeLists.txt @@ -8,6 +8,8 @@ add_qtc_library(ClangSupport CLANG_RESOURCE_DIR="${IDE_LIBEXEC_PATH}/clang/lib/clang/${CLANG_VERSION}/include" CLANG_BINDIR="${IDE_LIBEXEC_PATH}/clang/bin" DEFINES CLANGSUPPORT_BUILD_LIB + PUBLIC_INCLUDES + "${CMAKE_CURRENT_LIST_DIR}" SOURCES alivemessage.cpp alivemessage.h annotationsmessage.cpp annotationsmessage.h diff --git a/src/libs/modelinglib/CMakeLists.txt b/src/libs/modelinglib/CMakeLists.txt index 55c6e3a951d..db79b99ee33 100644 --- a/src/libs/modelinglib/CMakeLists.txt +++ b/src/libs/modelinglib/CMakeLists.txt @@ -3,6 +3,8 @@ add_qtc_library(Modeling DEPENDS Qt5::Widgets Utils PUBLIC_DEPENDS OptionalSvg INCLUDES qtserialization/inc + PUBLIC_INCLUDES + "${CMAKE_CURRENT_LIST_DIR}" SOURCES qmt/config/configcontroller.cpp qmt/config/configcontroller.h qmt/config/sourcepos.cpp qmt/config/sourcepos.h diff --git a/src/libs/sqlite/CMakeLists.txt b/src/libs/sqlite/CMakeLists.txt index 62c8609a7af..d28195f7684 100644 --- a/src/libs/sqlite/CMakeLists.txt +++ b/src/libs/sqlite/CMakeLists.txt @@ -4,7 +4,9 @@ add_qtc_library(Sqlite SQLITE_ENABLE_UNLOCK_NOTIFY SQLITE_ENABLE_COLUMN_METADATA BUILD_SQLITE_LIBRARY DEPENDS Qt5::Core Threads::Threads ${CMAKE_DL_LIBS} - PUBLIC_INCLUDES ../3rdparty/sqlite + INCLUDES ../3rdparty/sqlite + PUBLIC_INCLUDES + "${CMAKE_CURRENT_LIST_DIR}" SOURCES ../3rdparty/sqlite/sqlite3.c createtablesqlstatementbuilder.cpp createtablesqlstatementbuilder.h diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index 75a8571b818..9c32da72c41 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -6,7 +6,8 @@ add_qtc_plugin(QmlDesigner DESIGNER_CORE_LIBRARY IDE_LIBRARY_BASENAME=\"${IDE_LIBRARY_BASE_PATH}\" PUBLIC_INCLUDES - ${CMAKE_CURRENT_LIST_DIR}/designercore/include + "${CMAKE_CURRENT_LIST_DIR}" + "${CMAKE_CURRENT_LIST_DIR}/designercore/include" PLUGIN_DEPENDS Core ProjectExplorer QmlJSEditor QmakeProjectManager QmlProjectManager QtSupport TextEditor @@ -155,6 +156,7 @@ extend_qtc_plugin(QmlDesigner extend_qtc_plugin(QmlDesigner SOURCES_PREFIX ../../../share/qtcreator/qml/qmlpuppet/types + PUBLIC_INCLUDES ../../../share/qtcreator/qml/qmlpuppet/types SOURCES enumeration.h ) diff --git a/src/shared/designerintegrationv2/CMakeLists.txt b/src/shared/designerintegrationv2/CMakeLists.txt index 8e2520d50e7..b527260fa49 100644 --- a/src/shared/designerintegrationv2/CMakeLists.txt +++ b/src/shared/designerintegrationv2/CMakeLists.txt @@ -4,9 +4,11 @@ endif() add_qtc_library(designerintegrationv2 STATIC DEPENDS Qt5::Designer Qt5::Widgets + PUBLIC_INCLUDES + "${CMAKE_CURRENT_LIST_DIR}" SOURCES - formresizer.cpp formresizer.h - sizehandlerect.cpp sizehandlerect.h - widgethostconstants.h - widgethost.cpp widgethost.h + formresizer.cpp formresizer.h + sizehandlerect.cpp sizehandlerect.h + widgethostconstants.h + widgethost.cpp widgethost.h ) diff --git a/src/shared/help/CMakeLists.txt b/src/shared/help/CMakeLists.txt index 442911b4b88..6aa583b1542 100644 --- a/src/shared/help/CMakeLists.txt +++ b/src/shared/help/CMakeLists.txt @@ -18,6 +18,7 @@ add_qtc_library(shared_help STATIC "${PLUGIN_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}/shared_help_autogen/include${autogen_suffix}" "${CMAKE_CURRENT_BINARY_DIR}/" + "${CMAKE_CURRENT_LIST_DIR}" SOURCES bookmarkdialog.ui bookmarkmanager.cpp bookmarkmanager.h diff --git a/src/tools/clangbackend/source/CMakeLists.txt b/src/tools/clangbackend/source/CMakeLists.txt index fe0ab54deb6..b071cb46b72 100644 --- a/src/tools/clangbackend/source/CMakeLists.txt +++ b/src/tools/clangbackend/source/CMakeLists.txt @@ -3,6 +3,7 @@ add_qtc_library(clangbackend_lib STATIC PUBLIC_DEFINES CLANGSUPPORT_BUILD_LIB PUBLIC_INCLUDES ${CLANG_INCLUDE_DIRS} + "${CMAKE_CURRENT_LIST_DIR}" SOURCES clangasyncjob.h clangbackend_global.h diff --git a/src/tools/clangpchmanagerbackend/source/CMakeLists.txt b/src/tools/clangpchmanagerbackend/source/CMakeLists.txt index 76973c6a21d..fd6644da235 100644 --- a/src/tools/clangpchmanagerbackend/source/CMakeLists.txt +++ b/src/tools/clangpchmanagerbackend/source/CMakeLists.txt @@ -3,6 +3,7 @@ add_qtc_library(clangpchmanagerbackend_lib STATIC PUBLIC_DEPENDS libclang PUBLIC_DEFINES CLANGSUPPORT_BUILD_LIB PUBLIC_INCLUDES + ../../clangrefactoringbackend/source ${CLANG_INCLUDE_DIRS} SOURCES builddependenciesprovider.cpp builddependenciesprovider.h diff --git a/src/tools/clangrefactoringbackend/source/CMakeLists.txt b/src/tools/clangrefactoringbackend/source/CMakeLists.txt index 420e630c886..f06ddee1cc6 100644 --- a/src/tools/clangrefactoringbackend/source/CMakeLists.txt +++ b/src/tools/clangrefactoringbackend/source/CMakeLists.txt @@ -10,6 +10,7 @@ add_qtc_library(clangrefactoringbackend_lib STATIC PUBLIC_INCLUDES ${CLANG_INCLUDE_DIRS} "../../clangpchmanagerbackend/source" + "${CMAKE_CURRENT_LIST_DIR}" SOURCES clangquery.cpp clangquery.h clangquerygatherer.cpp clangquerygatherer.h