From be6b83ec4a4315246db44f89fcc38e04ef853c53 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 29 Aug 2023 08:54:04 +0200 Subject: [PATCH] Doc: Split up the "Adding Libraries to Projects" topic - Turn the topic into a how-to topic - Turn the example into a tutorial - Mark the information as qmake-specific - Add links to CMake information Task-number: QTCREATORBUG-29361 Change-Id: I42befbf15ad8a0eba7e26a0a69e6d1963d2ce5be Reviewed-by: Jarek Kobus --- .../qtcreator-add-library-external.webp | Bin 0 -> 8458 bytes ...-add-library-internal-project-details.webp | Bin 0 -> 7204 bytes ...add-library-internal-project-location.webp | Bin 0 -> 6384 bytes .../qtcreator-add-library-internal.webp | Bin 0 -> 7108 bytes .../howto/creator-only/creator-how-tos.qdoc | 1 + .../creator-projects-creating.qdoc | 5 +- .../creator-projects-libraries.qdoc | 136 +++++++++++++----- doc/qtcreator/src/qtcreator-toc.qdoc | 2 +- .../user-interface/creator-projects-view.qdoc | 2 +- 9 files changed, 107 insertions(+), 39 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-add-library-external.webp create mode 100644 doc/qtcreator/images/qtcreator-add-library-internal-project-details.webp create mode 100644 doc/qtcreator/images/qtcreator-add-library-internal-project-location.webp create mode 100644 doc/qtcreator/images/qtcreator-add-library-internal.webp diff --git a/doc/qtcreator/images/qtcreator-add-library-external.webp b/doc/qtcreator/images/qtcreator-add-library-external.webp new file mode 100644 index 0000000000000000000000000000000000000000..faec05617900487e6276be10a254699a3511c836 GIT binary patch literal 8458 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 WV)v~RoF7x3|LT`EzyJU}E61$> literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-add-library-internal-project-location.webp b/doc/qtcreator/images/qtcreator-add-library-internal-project-location.webp new file mode 100644 index 0000000000000000000000000000000000000000..1df0227675d347d78a63232f88193980ba9025d7 GIT binary patch literal 6384 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 cZ4*+TZnEj*)CJj+tVKa9@Q`2t054@{#{d8T literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc index 46ccaf46014..25ace3d413f 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc @@ -61,6 +61,7 @@ \list \li \l {Add a license header template for C++ code} + \li \l {Add libraries to projects} \li \l {Add subprojects to projects} \li \l {Create C++ classes} \li \l {Create files} diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc index e887f220067..372eb9b45c1 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc @@ -69,8 +69,7 @@ install and configure some additional software on the devices to be able to \l{Connecting Devices}{connect} to them from the development PC. - \sa {Manage Projects}{How-to: Manage Projects}, - {Adding Libraries to Projects}, {Adding New Custom Wizards} + \sa {Manage Projects}{How-to: Manage Projects}, {Adding New Custom Wizards} */ /*! @@ -317,5 +316,5 @@ To specify dependencies, use the \uicontrol{Add Library} wizard. \sa {Creating Projects}, {Use project wizards}, - {Adding Libraries to Projects} + {Add libraries to projects} */ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc index 2bcc095b11c..840326fbdf3 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2021 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -8,19 +8,45 @@ // ********************************************************************** /*! - \previouspage creator-project-creating.html \page creator-project-qmake-libraries.html - \nextpage creator-project-wizards.html + \previouspage creator-how-tos.html - \title Adding Libraries to Projects + \ingroup creator-how-to-projects + + \title Add libraries to projects In addition to Qt libraries, you can add other libraries to your projects. - The process depends on the type and location of the - library. You can add a system library, your own library, or a 3rd party - library. The library can be located either in the build tree of the - current project or in another build tree. + The process depends on the type and location of the library: - \image qtcreator-add-library-wizard.png "Add Library wizard" + \list + \li A system library + \li Your own library + \li A 3rd party library + \endlist + + The library can be located either in the build tree of the current project or + in another build tree. + + \section1 CMake projects + + If you use CMake to build the project, use the \l qt_add_library command to + create a library and link against it in the CMakeLists.txt file, as + instructed in \l{Structuring projects}. + + \section1 qmake projects + + To add libraries to projects that you build with qmake: + + \list 1 + \li In the \l Projects view, right-click the project name to open the + context menu and select \uicontrol {Add Library}. + \image qtcreator-add-library-wizard.png {Add Library wizard} + \li Specify settings for the library. + \image qtcreator-add-library-external.webp {Adding an external library} + The settings depend on the library type. + \endlist + + \section1 Library settings Because system libraries do not typically change and are often found by default, you do not need to specify the path to the library or to its @@ -62,49 +88,88 @@ \QC supports code completion and syntax highlighting for the added libraries once your project successfully builds and links to them. - \section1 To Add Libraries - - \list 1 - - \li In the \uicontrol Projects view, right-click the project name to open the - context menu and select - \uicontrol {Add Library}. - - \li Follow the instructions of the wizard. - - \endlist - For more information about the project file settings, see \l{Declaring Other Libraries}. - \section1 Example of Adding Internal Libraries + \sa {Adding an Internal Library to a qmake Project}, + {Add subprojects to projects}, {Use project wizards}, {Creating Projects} +*/ - To add an internal library to your project: +/*! + \page creator-tutorial-adding-internal-libraries-to-projects.html + \previouspage creator-tutorials.html + \nextpage creator-project-managing.html + + \ingroup creator-tutorials + + \title Adding an Internal Library to a qmake Project + + \brief How to create your own library and link your application against it + when using qmake as the build system. + + You can add a library into a \e subdirs project. Use wizards to create the + project and the library and to link the library against the project. + + \note This tutorial only applies when you select qmake as the the build + system for the subdirs project. + + \section1 Creating a shared library + + To create a shared library: \list 1 \li Select \uicontrol File > \uicontrol {New Project} > - \uicontrol Library > \uicontrol {C++ Library}. + \uicontrol Library > \uicontrol {C++ Library}. If your top level + project is a subdirs project or contains one, you may add the library + to the project. However, this does not link other libraries from + your project against it. \li Select \uicontrol Choose to open the \uicontrol {Project Location} dialog. - \image qtcreator-add-library-wizard-ex-1.png "Project Location dialog" + \image qtcreator-add-library-internal-project-location.webp {Project Location dialog} \li In the \uicontrol Name field, give a name for the library. For example, - \b mylib. + \e MyLibrary. - \li Follow the instructions of the wizard until you get to the + \li Select \uicontrol Next (on Windows and Linux) or \uicontrol Continue + (on \macos) to open the \uicontrol {Define Build System} dialog. + + \li Select \uicontrol Next or \uicontrol Continue to use CMake as the + build system. + + The \uicontrol {Define Project Details} dialog opens. + + \image qtcreator-add-library-internal-project-details.webp {Define Project Details dialog} + + \li Select the library type and enter information about the classes for + which you want to generate source code files: class name, Qt module, + and source and header file names. + + \li Select \uicontrol Next or \uicontrol Continue until you get to the \uicontrol {Project Management} dialog. In the \uicontrol {Add as a subproject to project} - list, select a project. For example, \b myapp. + list, select a subdirs project. For example, \e MyApplication. + \endlist - \li In the \uicontrol Projects view, right-click the project name to open the - context menu and select - \uicontrol {Add Library} > \uicontrol {Internal Library} > - \uicontrol Next. + \section1 Linking an application to the library - \li In the \uicontrol Library field, select \b mylib, and then select + To link a project to the shared library: + + \list 1 + + \li In the \l Projects view, right-click the project name to open + the context menu and select \uicontrol {Add Library} > + \uicontrol {Internal Library} > \uicontrol Next. + + The wizard instructs the build system to link an existing application + project or a library project against the selected library. Here, you + add the library that you created above. + + \image qtcreator-add-library-internal.webp {Adding an internal library} + + \li In the \uicontrol Library field, select \e mylibrary, and then select \uicontrol Next. \li Select \uicontrol Finish to add the library declaration to the @@ -116,7 +181,7 @@ CMakeLists.txt file: \badcode - target_link_libraries(myapp PRIVATE mylib) + target_link_libraries(myapplication PRIVATE mylibrary) \endcode When using qmake, the following library declaration is added to the .pro @@ -132,4 +197,7 @@ else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/debug/mylib.lib else:unix: PRE_TARGETDEPS += $$OUT_PWD/../../../projects/mylib/libmylib.a \endcode + + \sa {Add libraries to projects}, {Add subprojects to projects}, + {Select the build system}, {Use project wizards}, {Creating Projects} */ diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 7d71c101e51..c470627884d 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -25,7 +25,6 @@ \list \li \l{Creating Projects} \list - \li \l{Adding Libraries to Projects} \li \l{Adding New Custom Wizards} \endlist \li \l{Using Version Control Systems} @@ -275,6 +274,7 @@ \li Manage Projects \list \li \l {Add a license header template for C++ code} + \li \l {Add libraries to projects} \li \l {Add subprojects to projects} \li \l {Create C++ classes} \li \l {Create files} diff --git a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc index 905c4ebe779..9c811bd2799 100644 --- a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc +++ b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc @@ -85,7 +85,7 @@ {generic projects}. \li Add existing files and directories. \li Add libraries. For more information, see - \l{Adding Libraries to Projects}. + \l{Add libraries to projects}. \li Add and remove subprojects. \li Find unused functions. \endif