Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake: refactor GigaDevice targets #14281

Merged
merged 3 commits into from
Feb 15, 2021
Merged

Conversation

harmut01
Copy link
Contributor

Summary of changes

Refactor all GigaDevice targets to be CMake buildsystem targets. This removes
the need for checking MBED_TARGET_LABELS repeatedly and allows us to be
more flexible in the way we include MBED_TARGET source in the build.

A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using target_link_libraries its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.

Impact of changes

None

Migration actions required

None

Documentation

None


Pull request type

[x] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[x] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

Reviewers


Refactor all GigaDevice targets to be CMake buildsystem targets. This removes
the need for checking MBED_TARGET_LABELS repeatedly and allows us to be
more flexible in the way we include MBED_TARGET source in the build.

A side effect of this is it will allow us to support custom targets
without breaking the build for 'standard' targets, as we use CMake's
standard mechanism for adding build rules to the build system, rather
than implementing our own layer of logic to exclude files not needed for
the target being built. Using this approach, if an MBED_TARGET is not
linked to using `target_link_libraries` its source files will not be
added to the build. This means custom target source can be added to the
user's application CMakeLists.txt without polluting the build system
when trying to compile for a standard MBED_TARGET.
0xc0170
0xc0170 previously approved these changes Feb 12, 2021
@mergify mergify bot added the needs: CI label Feb 12, 2021
targets/TARGET_GigaDevice/CMakeLists.txt Outdated Show resolved Hide resolved
targets/TARGET_GigaDevice/TARGET_GD32F4XX/CMakeLists.txt Outdated Show resolved Hide resolved
@mergify mergify bot added needs: work and removed needs: CI labels Feb 12, 2021
Co-authored-by: Hugues Kamba-Mpiana <41612201+hugueskamba@users.noreply.github.com>
@mergify mergify bot dismissed stale reviews from 0xc0170 and hugueskamba February 14, 2021 19:28

Pull request has been modified.

Co-authored-by: Hugues Kamba-Mpiana <41612201+hugueskamba@users.noreply.github.com>
0xc0170
0xc0170 previously approved these changes Feb 14, 2021
@0xc0170
Copy link
Contributor

0xc0170 commented Feb 14, 2021

Ci started

@mergify mergify bot dismissed 0xc0170’s stale review February 14, 2021 19:30

Pull request has been modified.

@0xc0170 0xc0170 added needs: CI release-type: patch Indentifies a PR as containing just a patch and removed needs: work labels Feb 14, 2021
@mbed-ci
Copy link

mbed-ci commented Feb 14, 2021

Jenkins CI Test : ✔️ SUCCESS

Build Number: 1 | 🔒 Jenkins CI Job | 🌐 Logs & Artifacts

CLICK for Detailed Summary

jobs Status
jenkins-ci/mbed-os-ci_unittests ✔️
jenkins-ci/mbed-os-ci_cmake-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-ARM ✔️
jenkins-ci/mbed-os-ci_build-greentea-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-cloud-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_build-example-ARM ✔️
jenkins-ci/mbed-os-ci_build-example-GCC_ARM ✔️
jenkins-ci/mbed-os-ci_cmake-example-test ✔️
jenkins-ci/mbed-os-ci_greentea-test ✔️

@0xc0170 0xc0170 merged commit c153880 into ARMmbed:master Feb 15, 2021
@mergify mergify bot removed the ready for merge label Feb 15, 2021
@mbedmain mbedmain added release-version: 6.8.0 Release-pending and removed release-type: patch Indentifies a PR as containing just a patch Release-pending labels Feb 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants