Skip to content

Commit

Permalink
Processed review comments on CBS description.
Browse files Browse the repository at this point in the history
  • Loading branch information
ewaterlander committed Jan 9, 2025
1 parent 67631cf commit 9aaf616
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions doc/org.eclipse.cdt.doc.user/src/asciidoc/core_build_system.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -34,35 +34,35 @@ built when the build button is pressed.
The Core Build System is the basis for CMake projects and Core Build
Makefile projects. The CDT LaunchBar plays a central role and is used
for building and launching the program. The philosophy is "Build for
launch". It simplified the flow a lot.
launch". It simplifies the flow a lot.

These are the main differences with the Managed Build System:
These are the main differences compared with the Managed Build System:

* No build configurations. No build file (Makefile or
CMakeLists.txt) generation. The user writes it by hand. A
"helloworld" example build file can be created for new projects.
* A project gets immediately a launch configuration tied to it.
* Build settings are in the launch configuration Build Settings tab.
* Each new project is created with a launch configuration tied to it.
* Build settings are presented in the launch configuration Build Settings tab.
* The LaunchBar determines Run or Debug mode for building. There is no
more concept of an active build configuration like in the Managed
concept of an active build configuration as there is in Managed
Build projects.
* Auto discovery. The project's macro definitions and include paths,
needed for indexing, are extracted from the build step. For CMake
projects this is done via the generated JSON file. For Makefile
projects it is extracted from the build step console output.
* Simpler wizards. Creating a CMake project is a simple one page
projects, data is obtained from the generated JSON file. For Makefile
projects, data is extracted from the build step console output.
* Simpler wizards. Creation of a CMake project is via a simple one page
wizard. Using existing code is simply done by creating a new project
on top of the existing code. No more project import
on top of the existing code. It is not necessary to import the project
(menu:File[Import...]).

Core Build connects CDT projects to industry standard external build
systems like CMake, Makefile, and Meson. The removal of the CDT
specific build configurations makes that Core Build projects can
specific build configurations allow Core Build projects to be
easily be shared with other IDEs, command-line use, and Continuous
Integration (CI) flows.

Thanks to the auto discovery the indexing of the C/C++ code has
improved, because all compilation flags are known per file. Especially
for projects that use multiple toolchains in one project.
Thanks to the auto discovery, the indexing of the C/C++ code has
improved, because all compilation flags are known per file. This is especially
beneficial for projects that use multiple toolchains in one project.

icon:arrow-circle-right[] link:pass:[../html/new_cmake_proj.html][Next: Creating a CMake project]

0 comments on commit 9aaf616

Please sign in to comment.