diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-02-07 17:31:59 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-02-08 17:29:16 +0100 |
commit | a0442f40968da79b4b0e50e665a8885b78769df7 (patch) | |
tree | 019f0f27456b57e49079221adaf3d48e277e2674 /tests/auto/language/tst_language.h | |
parent | a9f9ea2dbfa327b7bf5e4247c073d2ba6eaef30b (diff) | |
download | qbs-a0442f40968da79b4b0e50e665a8885b78769df7.tar.gz |
Build a shared library.
We don't want our code to be duplicated in memory for each application
that uses it, so the library should not be linked statically.
Some ramifications worth mentioning:
- The unit tests had to be moved into the library,
because otherwise we would need to export random
internal symbols. This is why the patch appears so big.
A follow-up patch should probably make compilation
of tests optional, so the library can be deployed without
unneeded code.
- The DESTDIR of the auto test executables is now the
same as the one of all other executables, so they
can all use the dll on Windows without additional
setup.
- Some internal symbols were exported, namely:
a) Logging-related stuff. This allows us to use
a uniform logging approach in the library and in
our command-line tools; I consider this acceptable.
b) A handful of classes and functions currently needed
by certain command-line tools. These seem more questionable
to me and we should probably find a different way to implement
the respective functionality.
Change-Id: I9cd21e12cd622b55cf62f5e04ad398734410ede1
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/language/tst_language.h')
-rw-r--r-- | tests/auto/language/tst_language.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/tests/auto/language/tst_language.h b/tests/auto/language/tst_language.h deleted file mode 100644 index fc67309b9..000000000 --- a/tests/auto/language/tst_language.h +++ /dev/null @@ -1,84 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/legal -** -** This file is part of the Qt Build Suite. -** -** 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 Digia. For licensing terms and -** conditions see http://qt.digia.com/licensing. For further information -** use the contact form at http://qt.digia.com/contact-us. -** -** GNU Lesser General Public License Usage -** Alternatively, this file may be used under the terms of the GNU Lesser -** General Public License version 2.1 as published by the Free Software -** Foundation and appearing in the file LICENSE.LGPL included in the -** packaging of this file. Please review the following information to -** ensure the GNU Lesser General Public License version 2.1 requirements -** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Digia gives you certain additional -** rights. These rights are described in the Digia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -****************************************************************************/ - -#ifndef TST_LANGUAGE_H -#define TST_LANGUAGE_H - -#include <app/shared/qbssettings.h> -#include <language/forward_decls.h> -#include <language/loader.h> -#include <tools/setupprojectparameters.h> -#include <QtTest> - -using namespace qbs; -using namespace Internal; - -class TestLanguage : public QObject -{ - Q_OBJECT -public: - TestLanguage(); - ~TestLanguage(); - -private: - SettingsPtr m_settings; - Loader *loader; - ResolvedProjectPtr project; - SetupProjectParameters defaultParameters; - - QHash<QString, ResolvedProductPtr> productsFromProject(ResolvedProjectPtr project); - ResolvedModuleConstPtr findModuleByName(ResolvedProductPtr product, const QString &name); - QVariant productPropertyValue(ResolvedProductPtr product, QString propertyName); - -private slots: - void initTestCase(); - void cleanupTestCase(); - void conditionalDepends(); - void invalidDepends_data(); - void invalidDepends(); - void groupConditions_data(); - void groupConditions(); - void groupName(); - void identifierSearch_data(); - void identifierSearch(); - void jsImportUsedInMultipleScopes_data(); - void jsImportUsedInMultipleScopes(); - void modules_data(); - void modules(); - void outerInGroup(); - void productConditions(); - void propertiesBlocks_data(); - void propertiesBlocks(); - void fileTags_data(); - void fileTags(); - void wildcards_data(); - void wildcards(); -}; - -#endif // TST_LANGUAGE_H |