diff options
author | Denis Shienkov <denis.shienkov@gmail.com> | 2020-06-25 17:11:54 +0300 |
---|---|---|
committer | Denis Shienkov <denis.shienkov@gmail.com> | 2020-06-25 18:44:53 +0000 |
commit | bbc4594721683a47365518406457daf9c62e02c1 (patch) | |
tree | 1a6967afc7ad5e516f5aa29303835759ff50b737 /tests | |
parent | c5111c5b04f3d7c5dca153e47f949f3119cb0434 (diff) |
baremetal: Derive all applications and libraries from common products
The problem is that for different architectures and different toolchains
we need in a minimal set of a platform-specific flags and etc.
Previously (e.g. for MCS51 architecture and IAR/KEIL/SDCC toolchains) we
are not faced with this problem, because there by default we don't need
to specify a platform-specific flags for a minimal test.
But, for other platforms and compilers we need in this basic flags
(e.g. for ARM architecture and KEIL toolchain, we need to set the CPU
target flag, e.g. '--cpu cortex-m0').
So, it makes sense to derive all tested baremetal applications and
libraries from the basic BareMetal{Application|StaticLibrary} products.
In this case we can configure the desired flags once, using the QBS
Properties item.
Tested with the following architectures and toolchains:
* MCS51 (KEIL, IAR, SDCC)
* STM8 (SDCC)
* ARM (KEIL)
Change-Id: I484ed3abf78050fe2dd27e96e9442a3a03cecfa5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'tests')
8 files changed, 36 insertions, 11 deletions
diff --git a/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs b/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs new file mode 100644 index 000000000..774fe708d --- /dev/null +++ b/tests/auto/blackbox/testdata-baremetal/BareMetalApplication.qbs @@ -0,0 +1,6 @@ +CppApplication { + Properties { + condition: qbs.toolchain.contains("keil") && qbs.architecture.startsWith("arm") + cpp.driverFlags: ["--cpu", "cortex-m0"] + } +} diff --git a/tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs b/tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs new file mode 100644 index 000000000..a5a3ea272 --- /dev/null +++ b/tests/auto/blackbox/testdata-baremetal/BareMetalStaticLibrary.qbs @@ -0,0 +1,6 @@ +StaticLibrary { + Properties { + condition: qbs.toolchain.contains("keil") && qbs.architecture.startsWith("arm") + cpp.driverFlags: ["--cpu", "cortex-m0"] + } +} diff --git a/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs b/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs index 9f9d4f45a..0fded6a46 100644 --- a/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs +++ b/tests/auto/blackbox/testdata-baremetal/distribution-include-paths/distribution-include-paths.qbs @@ -1,4 +1,6 @@ -CppApplication { +import "../BareMetalApplication.qbs" as BareMetalApplication + +BareMetalApplication { files: ["main.c"] cpp.distributionIncludePaths: ["foo", "bar"] } diff --git a/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs b/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs index db18cb857..482425b5f 100644 --- a/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs +++ b/tests/auto/blackbox/testdata-baremetal/one-object-application/one-object-application.qbs @@ -1,3 +1,5 @@ -CppApplication { +import "../BareMetalApplication.qbs" as BareMetalApplication + +BareMetalApplication { files: ["main.c"] } diff --git a/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs b/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs index 9a257ddfd..7184f47ea 100644 --- a/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs +++ b/tests/auto/blackbox/testdata-baremetal/static-library-dependencies/static-library-dependencies.qbs @@ -1,35 +1,38 @@ +import "../BareMetalApplication.qbs" as BareMetalApplication +import "../BareMetalStaticLibrary.qbs" as BareMetalStaticLibrary + Project { - StaticLibrary { + BareMetalStaticLibrary { name: "lib-a" Depends { name: "cpp" } files: ["a1.c", "a2.c"] } - StaticLibrary { + BareMetalStaticLibrary { name: "lib-b" Depends { name: "cpp" } Depends { name: "lib-a" } files: ["b.c"] } - StaticLibrary { + BareMetalStaticLibrary { name: "lib-c" Depends { name: "cpp" } Depends { name: "lib-a" } files: ["c.c"] } - StaticLibrary { + BareMetalStaticLibrary { name: "lib-d" Depends { name: "cpp" } Depends { name: "lib-b" } Depends { name: "lib-c" } files: ["d.c"] } - StaticLibrary { + BareMetalStaticLibrary { name: "lib-e" Depends { name: "cpp" } Depends { name: "lib-d" } files: ["e.c"] } - CppApplication { + BareMetalApplication { name: "app" Depends { name: "lib-e" } files: ["app.c"] diff --git a/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs b/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs index 8e12807f2..1f9fd1231 100644 --- a/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs +++ b/tests/auto/blackbox/testdata-baremetal/system-include-paths/system-include-paths.qbs @@ -1,4 +1,6 @@ -CppApplication { +import "../BareMetalApplication.qbs" as BareMetalApplication + +BareMetalApplication { files: ["main.c"] cpp.systemIncludePaths: ["foo", "bar"] } diff --git a/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs b/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs index 9bd131396..2947975ca 100644 --- a/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs +++ b/tests/auto/blackbox/testdata-baremetal/two-object-application/two-object-application.qbs @@ -1,3 +1,5 @@ -CppApplication { +import "../BareMetalApplication.qbs" as BareMetalApplication + +BareMetalApplication { files: ["main.c", "fun.c"] } diff --git a/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs b/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs index 61a8a6cf6..23d5dbced 100644 --- a/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs +++ b/tests/auto/blackbox/testdata-baremetal/user-include-paths/user-include-paths.qbs @@ -1,4 +1,6 @@ -CppApplication { +import "../BareMetalApplication.qbs" as BareMetalApplication + +BareMetalApplication { files: ["main.c"] cpp.includePaths: ["foo", "bar"] } |