Skip to content

C++: example repository #393

Closed
Closed

Description

@AlexanderLanin

Goal

As a module/component developer I would like to start working on my C++ code. I don't know here to start. I would like a template with a hello world application and and hello world requirement.

Technically this means:
Integrate the open sourced LLVM toolchain for Bazel into S-CORE to enable C++ compilation and execution.

Description

Since there are still no clear requirements which host tool for compilation and execution we need to use, the best option is to go with community provided LLVM Toolchain.
With integrating this toolchain we are avoiding integration complexity that other toolchains can bring. In case later we need to integreate additional compiler (e.g. GCC) we can always keep this and as addtion add new toolchain (with proper configuration).
The current setup has already been done in PoC so we just need to migrate same solution to S-CORE.

Minimal features

❗ Successfully compile and run C++ code using LLVM.
❗ Provide a simple Hello World example to validate functionality.

Out of Scope (Optional / Not Required)

❕ IDE integration (C++ language server, compiler output visualization, etc.).
❕ clang-format (including IDE support).
❕ clang-tidy (including IDE support).
❕ Dependency management support (over bazel? via e.g. vcpkg or conan)

Note: we do not have an agreement on any of these tools yet, as there is no-one to agree them with. The problem is already addressed to tech lead circle.

For now we would probably do all of this in score. Later on we can move it to tooling. -> will be discussed in next daily

Activity

  1. converted this from a draft issue on Feb 17, 2025
  2. changed the title [-]C++: Add basic C++ toolchain[/-] [+]C++: Provide basic toolchain[/+] on Feb 17, 2025
  3. ltekieli commented on Feb 17, 2025

    @ltekieli
    Member

    Usable C++ toolchains are provided as a bazel submodule here: https://github.com/bazel-contrib/toolchains_llvm

  4. AlexanderLanin commented on Feb 17, 2025

    @AlexanderLanin
    MemberAuthor

    That was one of the ideas. Would you align with @nradakovic and improve the issue description?

  5. nradakovic commented on Feb 18, 2025

    @nradakovic
    Member

    @AlexanderLanin I can't update description of ticket so I will basicly add stuff as comment. If you think this should be moved into description, feel free to do so.

    Goal

    Integrate the open sourced LLVM toolchain for Bazel into S-CORE to enable C++ compilation and execution.

    Description

    Since there are still no clear requirements which host tool for compilation and execution we need to use, the best option is to go with community provided LLVM Toolchain.
    With integrating this toolchain we are avoiding integration complexity that other toolchains can bring. In case later we need to integreate additional compiler (e.g. GCC) we can always keep this and as addtion add new toolchain (with proper configuration).
    The current setup has already been done in PoC so we just need to migrate same solution to S-CORE.

    Minimal features

    ❗ Successfully compile and run C++ code using LLVM.
    ❗ Provide a simple Hello World example to validate functionality.

    Out of Scope (Optional / Not Required)

    ❕ IDE integration (C++ language server, compiler output visualization, etc.).
    ❕ clang-format (including IDE support).
    ❕ clang-tidy (including IDE support).
    ❕ Dependency management support (over bazel?).

  6. self-assigned this
    on Feb 18, 2025
  7. added a commit that references this issue on Feb 18, 2025
  8. AlexanderLanin commented on Feb 18, 2025

    @AlexanderLanin
    MemberAuthor

    @AlexanderLanin I can't update description of ticket so I will basicly add stuff as comment. If you think this should be moved into description, feel free to do so.

    Description updated.

  9. changed the title [-]C++: Provide basic toolchain[/-] [+]C++: example repository[/+] on Feb 21, 2025
  10. 11 remaining items

  11. added theissue type on Jun 5, 2025
  12. modified the milestones: , on Jun 5, 2025
  13. FScholPer commented on Oct 30, 2025

    @FScholPer
    Contributor

    @antonkri can you please migrate the old stuff to the new repo?

  14. removed this from the milestone on Nov 20, 2025
  15. FScholPer commented on Nov 21, 2025

    @FScholPer
    Contributor

    now we have two of them. scrample and example. I thin we can close it now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions