From cf5ccc7d9eba368846fae043855d9b064dac786d Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Sun, 18 Jan 2015 22:25:26 +0000 Subject: Add ecm_add_app_icon function. This adds an application icon to an executable from PNG files for Windows and Mac OS X. Unlike the similar kde4_add_app_icon macro from kdelibs, this requires icons to be explicitly listed as arguments (meaning CMake can tell when ones are added or deleted and reconfigure as appropriate), and it works with Matthias Benkmann's png2ico tool, as well as the KDE-Win tool of the same name. Currently missing unit tests. Also completely untested (except that `make test` runs on Linux, so there are no obvious syntax errors). With thanks to Ralf Habacker for the inital work on porting kde4_add_app_icon. CHANGELOG: Add ECMAddAppIcon module to add icons to executable targets on Windows and Mac OS X. --- docs/find-module/FindPng2Ico.rst | 1 + docs/module/ECMAddAppIcon.rst | 1 + 2 files changed, 2 insertions(+) create mode 100644 docs/find-module/FindPng2Ico.rst create mode 100644 docs/module/ECMAddAppIcon.rst (limited to 'docs') diff --git a/docs/find-module/FindPng2Ico.rst b/docs/find-module/FindPng2Ico.rst new file mode 100644 index 00000000..db8aa775 --- /dev/null +++ b/docs/find-module/FindPng2Ico.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../find-modules/FindPng2Ico.cmake diff --git a/docs/module/ECMAddAppIcon.rst b/docs/module/ECMAddAppIcon.rst new file mode 100644 index 00000000..31c09a88 --- /dev/null +++ b/docs/module/ECMAddAppIcon.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMAddAppIcon.cmake -- cgit v1.2.1 From 807ace309a489d21163b5c671d9e449c06e14e20 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Sun, 1 Feb 2015 11:20:43 +0000 Subject: Add a module to provide an uninstall target. This is basically just the code available on the CMake FAQ item about `make uninstall`, but packaged up in a convenient module. REVIEW: 122359 --- docs/module/ECMUninstallTarget.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/module/ECMUninstallTarget.rst (limited to 'docs') diff --git a/docs/module/ECMUninstallTarget.rst b/docs/module/ECMUninstallTarget.rst new file mode 100644 index 00000000..a1895158 --- /dev/null +++ b/docs/module/ECMUninstallTarget.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMUninstallTarget.cmake -- cgit v1.2.1 From ce678b32de12e6bb3c2b470111a3fcbadcca3a38 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Fri, 6 Feb 2015 11:50:31 +0000 Subject: Add missing documentation. Three modules (ECMCoverageOption, ECMEnableSanitizers and ECMGeneratePkgConfigFile) were not being documented. This commit fixes that situation. --- docs/module/ECMCoverageOption.rst | 1 + docs/module/ECMEnableSanitizers.rst | 1 + docs/module/ECMGeneratePkgConfigFile.rst | 1 + 3 files changed, 3 insertions(+) create mode 100644 docs/module/ECMCoverageOption.rst create mode 100644 docs/module/ECMEnableSanitizers.rst create mode 100644 docs/module/ECMGeneratePkgConfigFile.rst (limited to 'docs') diff --git a/docs/module/ECMCoverageOption.rst b/docs/module/ECMCoverageOption.rst new file mode 100644 index 00000000..41bffd78 --- /dev/null +++ b/docs/module/ECMCoverageOption.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMCoverageOption.cmake diff --git a/docs/module/ECMEnableSanitizers.rst b/docs/module/ECMEnableSanitizers.rst new file mode 100644 index 00000000..e25dd4f8 --- /dev/null +++ b/docs/module/ECMEnableSanitizers.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMEnableSanitizers.cmake diff --git a/docs/module/ECMGeneratePkgConfigFile.rst b/docs/module/ECMGeneratePkgConfigFile.rst new file mode 100644 index 00000000..cd311f6b --- /dev/null +++ b/docs/module/ECMGeneratePkgConfigFile.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMGeneratePkgConfigFile.cmake -- cgit v1.2.1 From 98a1ac4bf153581865662bd55fd139844d2de5cd Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Fri, 6 Feb 2015 12:31:05 +0000 Subject: Add Android toolchain module to the documentation. --- docs/manual/ecm-modules.7.rst | 16 ++++++++++------ docs/manual/ecm-toolchains.7.rst | 33 +++++++++++++++++++++++++++++++++ docs/sphinx/ecm.py | 3 +++ docs/toolchain/Android.rst | 1 + 4 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 docs/manual/ecm-toolchains.7.rst create mode 100644 docs/toolchain/Android.rst (limited to 'docs') diff --git a/docs/manual/ecm-modules.7.rst b/docs/manual/ecm-modules.7.rst index 16fd8612..ee0e4638 100644 --- a/docs/manual/ecm-modules.7.rst +++ b/docs/manual/ecm-modules.7.rst @@ -11,12 +11,12 @@ Introduction ============ Extra CMake Modules (ECM) provides various modules that provide useful functions -for CMake scripts. ECM actually provides three types of modules: those that -extend the functionality of the ``find_package`` command are documented in -:manual:`ecm-find-modules(7)`; those that provide standard settings for software -produced by the KDE community are documented in :manual:`ecm-kde-modules(7)`. -The rest provide macros and functions for general use by CMake scripts and are -documented here. +for CMake scripts. ECM actually provides three types of modules that can be +used from CMake scripts: those that extend the functionality of the +``find_package`` command are documented in :manual:`ecm-find-modules(7)`; those +that provide standard settings for software produced by the KDE community are +documented in :manual:`ecm-kde-modules(7)`. The rest provide macros and +functions for general use by CMake scripts and are documented here. To use these modules, you need to tell CMake to find the ECM package, and then add either ``${ECM_MODULE_PATH}`` or ``${ECM_MODULE_DIR}`` to the @@ -30,6 +30,10 @@ then add either ``${ECM_MODULE_PATH}`` or ``${ECM_MODULE_DIR}`` to the Using ``${ECM_MODULE_PATH}`` will also make the find modules and KDE modules available. +Note that there are also toolchain modules, documented in +:manual:`ecm-toolchains(7)`, but these are used by users building the software +rather than developers writing CMake scripts. + All Modules =========== diff --git a/docs/manual/ecm-toolchains.7.rst b/docs/manual/ecm-toolchains.7.rst new file mode 100644 index 00000000..66f685e2 --- /dev/null +++ b/docs/manual/ecm-toolchains.7.rst @@ -0,0 +1,33 @@ +.. ecm-manual-description: ECM Toolchains Reference + +ecm-toolchains(7) +***************** + +.. only:: html or latex + + .. contents:: + +Introduction +============ + +Extra CMake Modules (ECM) provides some toolchain modules. Unlike normal +modules, these are not included directly in projects, but specified with +the ``CMAKE_TOOLCHAIN_FILE`` cache variable on the commandline. + + +All Modules +=========== + +.. toctree:: + :maxdepth: 1 + :glob: + + /toolchain/* + +.. only:: man + + See Also + ======== + + :manual:`ecm(7)` + diff --git a/docs/sphinx/ecm.py b/docs/sphinx/ecm.py index 3eb75248..ed966bfb 100644 --- a/docs/sphinx/ecm.py +++ b/docs/sphinx/ecm.py @@ -154,6 +154,7 @@ _ecm_index_objs = { 'module': _ecm_index_entry('module'), 'find-module': _ecm_index_entry('find-module'), 'kde-module': _ecm_index_entry('kde-module'), + 'toolchain': _ecm_index_entry('toolchain'), } def _ecm_object_inventory(env, document, line, objtype, targetid): @@ -264,6 +265,7 @@ class ECMDomain(Domain): 'kde-module': ObjType('kde-module', 'kde-module'), 'find-module': ObjType('find-module', 'find-module'), 'manual': ObjType('manual', 'manual'), + 'toolchain': ObjType('toolchain', 'toolchain'), } directives = {} roles = { @@ -271,6 +273,7 @@ class ECMDomain(Domain): 'kde-module': XRefRole(), 'find-module': XRefRole(), 'manual': XRefRole(), + 'toolchain': XRefRole(), } initial_data = { 'objects': {}, # fullname -> docname, objtype diff --git a/docs/toolchain/Android.rst b/docs/toolchain/Android.rst new file mode 100644 index 00000000..9103e622 --- /dev/null +++ b/docs/toolchain/Android.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../toolchain/Android.cmake -- cgit v1.2.1 From 9bffa7a202cad3a29103f3e9a8b50b9a61277310 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Wed, 29 Jul 2015 22:46:44 +0200 Subject: Add macro to generate logging category declarations for Qt5. This makes life a bit easier for developers who use the categorised logging in Qt5 in the common case - rather than creating two new files, and remembering to put in the #ifdef for the default verbosity settings in Qt 5.4, they can just add a couple of lines to their CMakeLists.txt. REVIEW: 124595 --- docs/module/ECMQtDeclareLoggingCategory.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 docs/module/ECMQtDeclareLoggingCategory.rst (limited to 'docs') diff --git a/docs/module/ECMQtDeclareLoggingCategory.rst b/docs/module/ECMQtDeclareLoggingCategory.rst new file mode 100644 index 00000000..8f0af2ac --- /dev/null +++ b/docs/module/ECMQtDeclareLoggingCategory.rst @@ -0,0 +1 @@ +.. ecm-module:: ../../modules/ECMQtDeclareLoggingCategory.cmake -- cgit v1.2.1