-
Notifications
You must be signed in to change notification settings - Fork 15
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
Restructure repository #26
Merged
bradleysmith23
merged 22 commits into
FreeRTOS:main
from
hugueskamba:feature/restructure-project
Dec 14, 2023
Merged
Restructure repository #26
bradleysmith23
merged 22 commits into
FreeRTOS:main
from
hugueskamba:feature/restructure-project
Dec 14, 2023
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* External projects are referred to as `components` * The components are grouped per category within the `components` subdirectory. * Each component contain a `library` subdir (containing the external project) and an `integration` subdir (containing additional code to integrate the external project). * The external project used for the BSP is now also located in a `library` subdir within the `Bsp` subdir. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Rather having applications include individual parts of the FRI, include all of its parts (BSP and components) in the root level CMakeLists.txt To build application, point CMake to each application's main CMakeLists.txt as application should be treated as the root level CMakeLists.txt. This approach also shows how users who may want to include the FRI as a dependency to their project can build applications by treating their applications as the root level project. Additionally: * Raise an error if the minimum CMake version requirement is not met. * Rename FRI CMake project to match FRI project name. * Expose Tools/cmake subdir to CMake to find additional modules Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
This allows each application to apply configurations it needs without changing the behaviour of other applications as was previously the case since they share configuration files. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
* Define all CMake variables to be used by the project prior to creating the project * Sort list items alphabetically so they are easier to find * Add fatal error if minimum CMake version is not used * Remove unnecessary comments to declutter * Handle compiler specific configurations in one location * Move BSP configuration to BSP subdir * Include only the libraries used by the application Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
* Add type notation * Wrap long lines * Clarify variables and function names * Process CLI arguments with click Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
* Define all CMake variables to be used by the project prior to creating the project * Sort list items alphabetically so they are easier to find * Add fatal error if minimum CMake version is not used * Remove unnecessary comments to declutter * Handle compiler specific configurations in one location * Move BSP configuration to BSP subdir * Include only the libraries used by the application Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Improve readability of the string by wrapping it. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Move the provisioning source code and script to the helpers subdir Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The project is adopting snake case for files and subdirectories names Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
CMake modules follow the typical naming convention of VerbWithCamelCase. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The project is adopting snake case for files and subdirectories names Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Improves the description of the content of the subdir. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The project is adopting snake case for files and subdirectories names Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
CMake modules follow the typical naming convention of VerbWithCamelCase. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The document describes the various subdirectories and conventions used througout this project. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
The added words are valid and therefore added to the spellchecker dictionary. Signed-off-by: Hugues Kamba-Mpiana <[email protected]>
hugueskamba
force-pushed
the
feature/restructure-project
branch
from
December 11, 2023 18:02
a6d6a61
to
ec6bdd7
Compare
urutva
approved these changes
Dec 11, 2023
AniruddhaKanhere
approved these changes
Dec 13, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
In the fast-paced world of software development, maintaining a well-organised and structured code repository is crucial.
This document outlines changes made aimed at enhancing the clarity, consistency, and overall efficiency of our code base.
By adopting standardised naming conventions, reorganising files, and redefining subdirectory structures, we aim to streamline collaboration, simplify maintenance, and make the code base more approachable for both current and future developers. Additionally, the incorporation of clear CMake targets will improve the build process, promoting a more robust and scalable development environment.
These changes are essential for fostering a sustainable and agile development workflow, ultimately leading to increased productivity and a higher quality code base.
Test Steps
Checklist:
Related Issue
#25
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.