diff --git a/doc/qtcreator/images/qtcreator-build-steps-conan-install.png b/doc/qtcreator/images/qtcreator-build-steps-conan-install.png new file mode 100644 index 00000000000..09ab3549aa2 Binary files /dev/null and b/doc/qtcreator/images/qtcreator-build-steps-conan-install.png differ diff --git a/doc/qtcreator/src/conan/creator-projects-conan-building.qdocinc b/doc/qtcreator/src/conan/creator-projects-conan-building.qdocinc new file mode 100644 index 00000000000..c4d8ff26e52 --- /dev/null +++ b/doc/qtcreator/src/conan/creator-projects-conan-building.qdocinc @@ -0,0 +1,44 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! +//! [conan build steps] + \section1 Specifying Build Settings for Conan + + To configure a project to be built using the Conan package manager, select + \uicontrol {Add Build Step} > \uicontrol {Run Conan Install}. + + \image qtcreator-build-steps-conan-install.png "Conan Install build step" + + In the \uicontrol {Conan file} field, enter the location of the + \e conanfile.txt file for the project. + + The \uicontrol {Conan install} field displays the effective + build command. You can add arguments for the command in the + \uicontrol {Additional arguments} field. + + For more information about configuring Conan, see \l{Setting Up Conan}. +//! [conan build steps] +*/ diff --git a/doc/qtcreator/src/conan/creator-projects-conan.qdoc b/doc/qtcreator/src/conan/creator-projects-conan.qdoc new file mode 100644 index 00000000000..a846c252047 --- /dev/null +++ b/doc/qtcreator/src/conan/creator-projects-conan.qdoc @@ -0,0 +1,66 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Qt Creator documentation. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** +****************************************************************************/ + +/*! + \page creator-project-conan.html + \previouspage creator-project-incredibuild.html + \nextpage creator-cli.html + + \title Setting Up Conan + + \l {https://conan.io}{Conan} is a C/C++ package manager that speeds up the + integration of C or C++ libraries into your own project. It's available on + all the \l{Supported Platforms}{supported development platforms}. + + Conan can be integrated into most build systems that are integrated into + \QC: + + \list + \li \l{https://docs.conan.io/en/latest/integrations/cmake.html}{CMake} + \li \l{https://docs.conan.io/en/latest/integrations/qbs.html}{Qbs} + \li \l{https://docs.conan.io/en/latest/integrations/qmake.html}{qmake} + \li \l{https://docs.conan.io/en/latest/integrations/meson.html}{Meson} + \endlist + + The client-server architecture of Conan enables the client to fetch packages + from and upload them to remote servers that act as package storage. The + client creates the packages, and if necessary, handles building them from + sources. Because the client has a local cache for package storage, you can + work offline, as long as no new packages are needed from remote servers. + + To use Conan, install it by using the Qt installer. + + To enable the experimental Conan plugin, select \uicontrol Help > + \uicontrol {About Plugins} > \uicontrol Utilities > \uicontrol Conan. + Then select \uicontrol {Restart Now} to restart \QC and load the plugin. + + For each project, you must write a + \l{https://docs.conan.io/en/latest/reference/conanfile.html}{conanfile.py} + or \l{https://docs.conan.io/en/latest/reference/conanfile_txt.html} + {conanfile.txt} file that specifies the needed libraries and packages. + Then, you must edit the build settings of the project to specify the + location of the file and the contents of the Conan install command. + For more information, see \l {Specifying Build Settings for Conan}. +*/ diff --git a/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc b/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc index d81a3e6443e..f8356b86d5b 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-cli.qdoc @@ -30,7 +30,7 @@ // ********************************************************************** /*! - \previouspage creator-project-incredibuild.html + \previouspage creator-project-conan.html \page creator-cli.html \nextpage creator-keyboard-shortcuts.html diff --git a/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc index 91cde5ab277..5791b49b491 100644 --- a/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc +++ b/doc/qtcreator/src/incredibuild/creator-projects-incredibuild.qdoc @@ -26,7 +26,7 @@ /*! \previouspage creator-project-meson.html \page creator-project-incredibuild.html - \nextpage creator-cli.html + \nextpage creator-project-conan.html \title Setting Up IncrediBuild diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc index 3e373c7952a..635fbd19ba4 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-other.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2020 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. @@ -82,6 +82,13 @@ IncrediBuild decreases the time it takes to build C++ code. + \li \l{Setting Up Conan} + + The experimental Conan plugin integrates the Conan package manager + that speeds up the integration of C or C++ libraries into your + project. You can use Conan with most build systems integrated into + \QC. + \endlist */ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc index 4d13904606f..1acaa51a7cc 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-build.qdoc @@ -46,7 +46,7 @@ If you selected CMake as the build system for the project, you can use a \e {minimum size release} build configuration to create the - final installation file. It is a release build that makes the size + final installation file. It is a release build that makes the size of the binary package as small as possible, even if this makes the application slower. @@ -182,6 +182,7 @@ \include creator-projects-settings-build-qbs.qdocinc qbs build steps \include creator-projects-meson-building.qdocinc meson build steps \include creator-projects-incredibuild-building.qdocinc incredibuild build steps + \include creator-projects-conan-building.qdocinc conan build steps \section2 Adding Custom Build Steps diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index edaf3bad4e4..85ae72493a5 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -277,6 +277,7 @@ \li \l{Setting Up Nimble} \li \l{Setting Up Meson} \li \l{Setting Up IncrediBuild} + \li \l{Setting Up Conan} \endlist \li \l{Using Command Line Options} \li \l{Keyboard Shortcuts}