From 7cb81fb5baafa5ebd4c0fcd7bb6856c32c6205f6 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 19 Feb 2021 17:35:32 +0100 Subject: CMake build: Add .pri files to development package This adds at least partial, transitional support for building 3rdparty plugins with qmake against Qt Creator built with CMake. This might still miss some other .pri files that follow their own naming conventions. Fixes: QTCREATORBUG-24055 Fixes: QTCREATORBUG-25334 Change-Id: I83cc547da938976c2ec12a21a17f286b937147f7 Reviewed-by: Cristian Adam --- CMakeLists.txt | 19 +++++++++++++++++++ cmake/QtCreatorAPI.cmake | 14 ++++++++++++++ src/libs/3rdparty/syntax-highlighting/CMakeLists.txt | 3 +++ src/libs/ssh/CMakeLists.txt | 2 ++ src/plugins/coreplugin/CMakeLists.txt | 3 +++ 5 files changed, 41 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index dc4b66829a..bb9e4abe05 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -138,6 +138,25 @@ else() ) endif() +# install qmake support files +install( + FILES + qtcreator.pri + qtcreatordata.pri + qtcreator_ide_branding.pri + DESTINATION include + COMPONENT Devel EXCLUDE_FROM_ALL +) +install( + FILES + src/qtcreatorlibrary.pri + src/qtcreatorplugin.pri + src/qtcreatortool.pri + src/rpath.pri + DESTINATION include/src + COMPONENT Devel EXCLUDE_FROM_ALL +) + feature_summary(INCLUDE_QUIET_PACKAGES WHAT PACKAGES_FOUND PACKAGES_NOT_FOUND ENABLED_FEATURES DISABLED_FEATURES diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake index f03fd42978..fc9d90d27d 100644 --- a/cmake/QtCreatorAPI.cmake +++ b/cmake/QtCreatorAPI.cmake @@ -136,7 +136,14 @@ function(add_qtc_library name) add_library(${name} ${library_type} ${_arg_SOURCES}) add_library(QtCreator::${name} ALIAS ${name}) + set_public_headers(${name} "${_arg_SOURCES}") + # transitional qmake plugin build support + string(TOLOWER "${name}" lowername) + set(dependencies_pri "${CMAKE_CURRENT_SOURCE_DIR}/${lowername}_dependencies.pri") + if(EXISTS ${dependencies_pri}) + qtc_add_public_header(${dependencies_pri}) + endif() # TODO remove, see above if (_arg_SOURCES_PREFIX) @@ -387,7 +394,14 @@ function(add_qtc_plugin target_name) add_library(${target_name} SHARED ${_arg_SOURCES}) add_library(QtCreator::${target_name} ALIAS ${target_name}) + set_public_headers(${target_name} "${_arg_SOURCES}") + # transitional qmake plugin build support + string(TOLOWER "${target_name}" lowername) + set(dependencies_pri "${CMAKE_CURRENT_SOURCE_DIR}/${lowername}_dependencies.pri") + if(EXISTS ${dependencies_pri}) + qtc_add_public_header(${dependencies_pri}) + endif() ### Generate EXPORT_SYMBOL string(TOUPPER "${name}_LIBRARY" EXPORT_SYMBOL) diff --git a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt index 8aadf8525f..8dc268071a 100644 --- a/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt +++ b/src/libs/3rdparty/syntax-highlighting/CMakeLists.txt @@ -43,6 +43,9 @@ add_qtc_library(KSyntaxHighlighting SHARED src/lib/xml_p.h ) qtc_add_public_header(autogenerated/src/lib/State) +# transitional qmake plugin build support +qtc_add_public_header(${CMAKE_CURRENT_SOURCE_DIR}/../../../shared/syntax/syntax_shared.pri) +qtc_add_public_header(syntax-highlighting_dependencies.pri) if(TARGET KSyntaxHighlighting) install( diff --git a/src/libs/ssh/CMakeLists.txt b/src/libs/ssh/CMakeLists.txt index 6f5d1cb764..813832c3c1 100644 --- a/src/libs/ssh/CMakeLists.txt +++ b/src/libs/ssh/CMakeLists.txt @@ -20,3 +20,5 @@ add_qtc_library(QtcSsh sshremoteprocessrunner.cpp sshremoteprocessrunner.h sshsettings.cpp sshsettings.h ) +# transitional qmake plugin build support +qtc_add_public_header(ssh_dependencies.pri) diff --git a/src/plugins/coreplugin/CMakeLists.txt b/src/plugins/coreplugin/CMakeLists.txt index 6705478bfb..5b9de5c4a0 100644 --- a/src/plugins/coreplugin/CMakeLists.txt +++ b/src/plugins/coreplugin/CMakeLists.txt @@ -201,3 +201,6 @@ if ((NOT WIN32) AND (NOT APPLE)) ) endforeach() endif() + +# transitional qmake plugin build support +qtc_add_public_header(coreplugin_dependencies.pri) -- cgit v1.2.3