aboutsummaryrefslogtreecommitdiff
path: root/autotests/kconfig_compiler
diff options
context:
space:
mode:
authorFriedrich W. H. Kossebau <kossebau@kde.org>2019-03-06 13:43:56 +0100
committerFriedrich W. H. Kossebau <kossebau@kde.org>2019-03-15 06:55:13 +0100
commita3ed87ca7808363d8752f919617f88010ebf46b3 (patch)
tree8499bdc6b25490d84e71b4bee3f2be5b159df6f6 /autotests/kconfig_compiler
parent516f558742dfa8da7a5e6def39309516d703bc1b (diff)
downloadkconfig-a3ed87ca7808363d8752f919617f88010ebf46b3.tar.gz
kconfig-a3ed87ca7808363d8752f919617f88010ebf46b3.tar.bz2
kconfig_compiler: new kcfgc args HeaderExtension & SourceExtension
Summary: When using kconfig_compiler generated sources in projects where the used file extensions for C++ files are not ".h" and/or ".cpp", the include for the generated header looks a bit alien to the project, as well as the generated source file if one looks closer at it. This code adds new optional flags HeaderExtension & SourceExtension which can be used to control the file extensions used for the generated files. Test Plan: All unit tests and the new test_fileextensions pass, existing projects using kcfg without & with the new flags build fine. Reviewers: #frameworks, apol Reviewed By: apol Subscribers: apol, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D19565
Diffstat (limited to 'autotests/kconfig_compiler')
-rw-r--r--autotests/kconfig_compiler/CMakeLists.txt8
-rw-r--r--autotests/kconfig_compiler/test_fileextensions.kcfg16
-rw-r--r--autotests/kconfig_compiler/test_fileextensions.kcfgc7
-rw-r--r--autotests/kconfig_compiler/test_fileextensions_main.cxx32
4 files changed, 63 insertions, 0 deletions
diff --git a/autotests/kconfig_compiler/CMakeLists.txt b/autotests/kconfig_compiler/CMakeLists.txt
index 590c7700..70b2dbb8 100644
--- a/autotests/kconfig_compiler/CMakeLists.txt
+++ b/autotests/kconfig_compiler/CMakeLists.txt
@@ -241,3 +241,11 @@ gen_kcfg_test_source(test_translation_kde_domain test_translation_kde_domain_SRC
ecm_add_test(TEST_NAME test_translation_kde_domain ${test_translation_kde_domain_SRCS})
target_link_libraries(test_translation_kde_domain KF5::ConfigGui)
+
+########### next target ###############
+
+set(test_fileextensions_SRCS test_fileextensions_main.cxx)
+gen_kcfg_test_source(test_fileextensions test_fileextensions_SRCS)
+
+ecm_add_test(TEST_NAME test_fileextensions ${test_fileextensions_SRCS})
+target_link_libraries(test_fileextensions KF5::ConfigGui)
diff --git a/autotests/kconfig_compiler/test_fileextensions.kcfg b/autotests/kconfig_compiler/test_fileextensions.kcfg
new file mode 100644
index 00000000..c5040fd8
--- /dev/null
+++ b/autotests/kconfig_compiler/test_fileextensions.kcfg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
+ <kcfgfile name="test_fileextensions_rc"/>
+
+ <group name="General">
+ <entry type="Bool" key="Auto Save">
+ <label>Enable automatic saving of calendar</label>
+ <whatsthis context="@info:whatsthis">Enable automatic saving of calendars to have calendars saved automatically.</whatsthis>
+ <default>false</default>
+ </entry>
+ </group>
+
+</kcfg>
diff --git a/autotests/kconfig_compiler/test_fileextensions.kcfgc b/autotests/kconfig_compiler/test_fileextensions.kcfgc
new file mode 100644
index 00000000..cc6556f9
--- /dev/null
+++ b/autotests/kconfig_compiler/test_fileextensions.kcfgc
@@ -0,0 +1,7 @@
+# Code generation options for kconfig_compiler_kf5
+File=test_fileextensions.kcfg
+Singleton=true
+ClassName=TestFileExtensions
+SetUserTexts=true
+HeaderExtension=hxx
+SourceExtension=cxx
diff --git a/autotests/kconfig_compiler/test_fileextensions_main.cxx b/autotests/kconfig_compiler/test_fileextensions_main.cxx
new file mode 100644
index 00000000..e19fb102
--- /dev/null
+++ b/autotests/kconfig_compiler/test_fileextensions_main.cxx
@@ -0,0 +1,32 @@
+/*
+Copyright 2019 Friedrich W. H. Kossebau <kossebau@kde.org>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
+#include "test_fileextensions.hxx"
+#include <QGuiApplication>
+
+int main(int argc, char **argv)
+{
+ QGuiApplication app(argc, argv);
+ Q_UNUSED(app);
+ TestFileExtensions *t = TestFileExtensions::self();
+ delete t;
+ return 0;
+}