CMake: introduce option BUILD_DESIGNSTUDIO

This change needs an update of the super repository

If you want to buid QtDesignStudio documentation no branding path
is necessary anymore:

cmake -DCMAKE_GENERATOR:STRING=Ninja -DWITH_DOCS=ON -DCMAKE_PREFIX_PATH:PATH=C:\Qt_online\6.5.3\msvc2019_64 -DBUILD_DESIGNSTUDIO=ON C:/dev/tqtc-qtc-super/qtcreator
cmake --build . --target html_docs

Task-number: QDS-9827
Task-number: QTCREATORBUG-24222
Change-Id: Ic779b6ab57c71c7f6fa53467bf1ba3ee17cab0ea
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
(cherry picked from commit 0416941fd1)
This commit is contained in:
Tim Jenssen
2024-06-05 16:29:20 +02:00
parent 72ed2fa819
commit d10a373597
8 changed files with 78 additions and 31 deletions

View File

@@ -1,5 +1,10 @@
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
option(BUILD_DESIGNSTUDIO "Build and install design studio plugins, examples and settings." OFF)
if (BUILD_DESIGNSTUDIO)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/dist/branding/qtdesignstudio")
endif()
## 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")
include(Utils) include(Utils)

View File

@@ -1,7 +1,7 @@
set(IDE_VERSION "4.2.0") # The IDE version. set(IDE_VERSION "4.1.1") # The IDE version.
set(IDE_VERSION_COMPAT "4.2.0") # The IDE Compatibility version. set(IDE_VERSION_COMPAT "4.1.1") # The IDE Compatibility version.
set(IDE_VERSION_DISPLAY "4.2.0") # The IDE display version. set(IDE_VERSION_DISPLAY "4.1.1") # The IDE display version.
set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year. set(IDE_COPYRIGHT_YEAR "2024") # The IDE current copyright year.
set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation.
set(IDE_COPY_SETTINGSVARIANT "Nokia") # The IDE settings to initially import. set(IDE_COPY_SETTINGSVARIANT "Nokia") # The IDE settings to initially import.
@@ -16,3 +16,48 @@ set(IDE_DOC_FILE_ONLINE "qtdesignstudio/qtdesignstudio-online.qdocconf")
set(IDE_ICON_PATH "${CMAKE_CURRENT_LIST_DIR}") set(IDE_ICON_PATH "${CMAKE_CURRENT_LIST_DIR}")
set(IDE_LOGO_PATH "${CMAKE_CURRENT_LIST_DIR}") set(IDE_LOGO_PATH "${CMAKE_CURRENT_LIST_DIR}")
set(DESIGNSTUDIO_PLUGINS
Android
BareMetal
Boot2Qt
CMakeProjectManager
CodePaster
Core
CppEditor
Debugger
Designer
DiffEditor
EffectComposer
Help
Insight
LanguageClient
McuSupport
ProjectExplorer
QmakeProjectManager
QmlDesigner
QmlDesignerBase
QmlJSEditor
QmlJSTools
QmlPreview
QmlProjectManager
QtSupport
RemoteLinux
ResourceEditor
StudioPlugin
StudioWelcome
Texteditor
UpdateInfo
VcsBase
assetexporterplugin
componentsplugin
qmlpreviewplugin
qtquickplugin)
if(DESIGNSTUDIO_EXTRAPLUGINS)
list(APPEND DESIGNSTUDIO_PLUGINS ${DESIGNSTUDIO_EXTRAPLUGINS})
endif()
if(NOT BUILD_PLUGINS)
set(BUILD_PLUGINS "${DESIGNSTUDIO_PLUGINS}" CACHE STRING "Build plugins" FORCE)
endif()

View File

@@ -1,6 +1,6 @@
[Plugins] [Plugins]
Ignored=AutoTest, Bazaar, ClangCodeModel, ClangTools, CMakeProjectManager, CVS, ClassView, CodePaster, CppEditor, CtfVisualizer, Designer, FakeVim, GLSLEditor, GenericProjectManager, IncrediBuild, Ios, Macros, Mercurial, ModelEditor, Perforce, PerfProfiler, ScxmlEditor, QbsProjectManager, Qnx, Subversion, Valgrind, VcsBase, Welcome, WinRt, Python Ignored=
ForceEnabled=Boot2Qt, StudioWelcome, QmlDesigner, ModuleTools, McuSupport ForceEnabled=Boot2Qt, StudioWelcome, QmlDesigner, ModuleTools, McuSupport, EffectMaker
[Core] [Core]
NewDialog\LastCategory=H.StudioProject NewDialog\LastCategory=H.StudioProject
@@ -52,6 +52,7 @@ flashActionDisabled=true
OverrideLanguage=C OverrideLanguage=C
[General] [General]
HideOptionCategories=C++, Debug, Designer, Kits, BuildAndRun, CPaster, LanguageClient, Version Control HideOptionCategories=C++, Debug, Designer, Kits, BuildAndRun, CPaster, LanguageClient, Version Control
SuppressedWarnings=LinkWithQtInstallation
[Help] [Help]
ContextHelpOption=3 ContextHelpOption=3

View File

@@ -540,8 +540,7 @@
separate doc build folder, not in the project folder. separate doc build folder, not in the project folder.
To get the correct product name and version when building \QDS Manual, you To get the correct product name and version when building \QDS Manual, you
must run CMake with the branding option. The branding data is located in must run CMake with the BUILD_DESIGNSTUDIO option.
the \QDS (private) repository, \c tqtc-plugin-qtquickdesigner.
To build docs with CMake in a separate doc build folder: To build docs with CMake in a separate doc build folder:
@@ -561,12 +560,12 @@
\li To also build Extending \QC Manual, add the following option: \li To also build Extending \QC Manual, add the following option:
\c {-DBUILD_DEVELOPER_DOCS=ON} \c {-DBUILD_DEVELOPER_DOCS=ON}
\li To also build the \QDS Manual, add the following option: \li To also build the \QDS Manual, add the following option:
\c {"-DCMAKE_MODULE_PATH=<absolute_path_to_qtquickdesignerrepo>/studiodata/branding/"} \c {-DBUILD_DESIGNSTUDIO=ON}
For example: For example:
\badcode \badcode
C:\dev\qtc-doc-build>cmake -DWITH_DOCS=ON -DBUILD_DEVELOPER_DOCS=ON C:\dev\qtc-doc-build>cmake -DWITH_DOCS=ON -DBUILD_DEVELOPER_DOCS=ON
"-DCMAKE_MODULE_PATH=C:\dev\tqtc-plugin-qtquickdesigner\studiodata\branding" -DBUILD_DESIGNSTUDIO=ON
"-DCMAKE_PREFIX_PATH=C:\Qt\6.4.0\msvc2019_64" "-DCMAKE_PREFIX_PATH=C:\Qt\6.4.0\msvc2019_64"
C:\dev\qtc-super\qtcreator C:\dev\qtc-super\qtcreator
\endcode \endcode
@@ -578,7 +577,7 @@
\badcode \badcode
C:\dev\qtc-doc-build>cmake -DWITH_ONLINE_DOCS=ON C:\dev\qtc-doc-build>cmake -DWITH_ONLINE_DOCS=ON
-DBUILD_DEVELOPER_DOCS=ON -DBUILD_DEVELOPER_DOCS=ON
"-DCMAKE_MODULE_PATH=C:\dev\tqtc-plugin-qtquickdesigner\studiodata\branding" -DBUILD_DESIGNSTUDIO=ON
"-DCMAKE_PREFIX_PATH=C:\Qt\6.4.0\msvc2019_64" "-DCMAKE_PREFIX_PATH=C:\Qt\6.4.0\msvc2019_64"
C:\dev\qtc-super\qtcreator C:\dev\qtc-super\qtcreator
\endcode \endcode

View File

@@ -7,22 +7,4 @@ separate table of contents files for each Manual and by using defines
to hide and show information depending on which Manual is being built. to hide and show information depending on which Manual is being built.
Because branding information is needed to use the correct product name and Because branding information is needed to use the correct product name and
version, you must run `qmake -r` on `qtcreator.pro` with the `IDE_BRANDING_PRI` version.
option set to the absolute path of `ide_branding.pri` in the Qt Design Studio
repository.
For example, on Windows enter (all on one line):
`C:\dev\qtc-super\qtcreator>..\..\..\Qt\5.14.1\msvc2017_64\bin\qmake.exe
qtcreator.pro -r
IDE_BRANDING_PRI=C:\dev\tqtc-plugin-qtquickdesigner\studiodata\branding\ide_branding.pri`
## Building the Qt Design Studio Manual
1. Run `qmake` from Qt 5.14.0, or later with the path to the branding
information as a parameter:
`<relative_path_to>\qmake.exe qtcreator.pro -r IDE_BRANDING_PRI=<absolute_path_to>\tqtc-plugin-qtquickdesigner\studiodata\branding\ide_branding.pri`
5. Run `make docs` on Linux and macOS or `nmake docs` on Windows.
The docs are generated in `qtcreator\doc\html\qtdesignstudio` with the
Qt Design Studio branding.

File diff suppressed because one or more lines are too long

View File

@@ -1189,3 +1189,16 @@ extend_qtc_plugin(qtquickplugin
qtquickplugin.qrc qtquickplugin.qrc
) )
add_subdirectory(studioplugin) add_subdirectory(studioplugin)
if (BUILD_DESIGNSTUDIO)
configure_file(
"${QtCreator_SOURCE_DIR}/dist/branding/qtdesignstudio/QtProject/QtDesignStudio.ini"
"${PROJECT_BINARY_DIR}/${IDE_DATA_PATH}/QtProject/${IDE_CASED_ID}.ini"
COPYONLY
)
install(FILES
${QtCreator_SOURCE_DIR}/dist/branding/qtdesignstudio/QtProject/QtDesignStudio.ini
DESTINATION ${IDE_DATA_PATH}/QtProject
RENAME ${IDE_CASED_ID}.ini
)
endif ()

View File

@@ -137,7 +137,7 @@ const char settingsFileName[] = "EasingCurves.ini";
QString settingsFullFilePath(const QSettings::Scope &scope) QString settingsFullFilePath(const QSettings::Scope &scope)
{ {
if (scope == QSettings::SystemScope) if (scope == QSettings::SystemScope)
return Core::ICore::installerResourcePath(settingsFileName).toString(); return Core::ICore::resourcePath("qmldesigner/%1").toString().arg(settingsFileName);
return Core::ICore::userResourcePath(settingsFileName).toString(); return Core::ICore::userResourcePath(settingsFileName).toString();
} }