Original Author: Jared Adolf-Bryfogle (jadolfbr@gmail.com)
It is recommended to load the source directory as a PyCharm project. PyCharm is a great and free IDE for python. Next, add the following file types File->Settings->File Types [Python] under IDE settings:
SConscript*
SConstruct*
*.settings
*.src
Each project has a SConscript associated with it. These SConscripts handle setting up project-specific settings. The settings are loaded via classes in main/source/tools/build/settings.py
. Each class is a dictionary, and each other class inherits from Settings class.
Classes include:
Each project has a SConscript associated with it. These SConscripts handle setting up project-specific settings.
These files are responsible for setting up the build.
main/source/SConstruct
which calls main/source/tools/build/setup.py
and then SConscript.main/source/SConscript
These files are responsible for parsing the xxx.apps.settings and xxx.src.settings such as pilot_apps.src.settings and core1.src.settings through the settings.py classes.
There are 5 categories that are parsed in each .settings file here. They include: sources, include_path, library_path, libraries, subprojects.
These files are:
main/source/src/SConscript.src
main/source/src/SConscript.apps
Responsible primarily for setting up build settings for sqlite3 and cppdb external libraries.
main/source/external/SConscript.external
The site.settings files in main/source/tools/build
allow you to override any of the settings in the scons build system. This allows you to add specific libraries, include paths, or overide very specific build settings. Both site and user .settings files are loaded via main/source/tools/setup.py
via the main SConstruct file.
The basic.settings file in main/source/tools/build
control settings for specific platforms and compilers. If a new version of your favorite compiler is released and requires specific tweaks, here is where you would edit what it uses for cc, cxx, link settings, etc. This file is also loaded by main/source/tools/setup.py
The options.settings file in main/source/tools/build
is a compilation of what is actually supported by the Rosetta build system. Supported compilers, modes, extras, and systems are loaded from here first by main/source/tools/setup.py
Platforms are initially setup by functions in the main/source/tools/build/setup_platforms
file. If new computer architecture is being tested, add it to here first.