Skip to content

Releases: 4lex1v/cbuild

Release r11

12 Oct 14:16
Compare
Choose a tag to compare

Improvements

  • New find_executable function added to the experimental API
  • New run_system_command function added to the experimental API
  • cbuild clean command now respects multi-project configuration

Fixes

  • Fixed a bug when the project's configuration was unloaded prematurely, which caused user-defined commands to crash

MD5: 5664a1ec8177a3314332247ea09a708c
SHA256: a761e68cb1ee13f589a2131e95102ae2fb61942e489ac99d7313834301412844

Release r10

28 Sep 00:25
Compare
Choose a tag to compare

Improvements

  • Support for multiple project configurations with -p / --project= option
  • New experimental API to install the binary
  • New experimental API to include system headers

Fixes

  • Fixed an issue on Windows that prevented CBuild to load compiled configuration

MD5: 15cb320575fd9d226956b7202e99bf35
SHA256: f71a00c853a67bf63b33f1832088b2d1927b99a23013df649dae268b0d2e42a9

Release r9

02 Feb 03:51
Compare
Choose a tag to compare

Improvements

  • Exported API got some update for C++-based configurations, specifically all functions are noexcept now
  • exclude_source_file(s) function has been moved to the core API
  • On Windows, CBuild is no longer restricted to a fixed name (i.e cbuild.exe).

Fixes

  • Fixed an issue with targeted builds (the build targets=foo,... ones) that had an issue with wiping some information that caused an unnecessary rebuild of skipped targets on subsequence builds.
  • the API signature in the exported header is now a const

SHA256: 0dc82f92c13be1d6b58bd82b0f7211a63dedf0cff07227b2412714f605824f8a
MD5: 7439a92930ae337487bca6fe22ba55fa

Release r8

13 Aug 18:12
Compare
Choose a tag to compare

Improvements

  • --silence flag now hides more chatter from the program, producing a cleaner output
  • build command now takes the cache option
  • build command now can build specific target(s)

Fixes

  • Some issues in the linker that may have caused freezes
  • Assertion were removed from the release build
  • No project root direction in dependency scanner by default
    • Now the directory structure is what the user passes as includes search path for the compiler

SHA256: DD05C5EF78E78D9B882D229A0728626291B316DB99441742E7832ACFEEA4A4E7
MD5: 45E13528991CBCE52C9F5A88D4B9B94B

Release r7

05 Aug 02:06
Compare
Choose a tag to compare

API

  • Added a series of global function to set project-wide options for the compiler, linker, archiver, include paths
  • Added exclude_source_files functions to pair with add_all_sources_from_directory in case some files must be removed
  • Fixed an issue with the add_source_files wrapper for C++

Fixes

  • Custom assert macro to remove assertions from the release build
  • Fixed an issue when Visual Studio has been removed from the system and vswhere returned no output.

MD5: 028D364AF322DD6A9133EACA39B4891A
SHA256: 002673B546B71A475A9EDB8F9DB99DE974B091F6FF43D6A52219572A736A6EEA

Release r6

03 Aug 00:20
Compare
Choose a tag to compare

Improvements

  • Added more checks to the public API to catch some obvious issues with the configuration faster

Fixes

  • Revamped project builder implementation that should address various compilation/linking issues, correct the processing order and other minor improvements
  • Fixed issues with some public API functions

MD5: D0F4EEE8804CA10268036F9E92BF42F7
SHA256: 4A9204F79984A27EA58131C66A63FD1CC71C6D9FB680C482F9612AAF6261E497

Release r5

25 Jul 22:40
Compare
Choose a tag to compare

Fixes

  • Fixed init command that expected a type option to be provided, while it being optional

Release r4

24 Jul 00:34
Compare
Choose a tag to compare

Fixes

  • Fixed run_system_command for Win32, for some reason it was hanging due to the sequence of handle closing operations
  • Fixed dependency iterator failing if the raw string's delimiter was present in the string's content

Release r3

23 Jul 19:57
Compare
Choose a tag to compare

Additions

  • Support for -s / --silenced flag to keep only the compiler's output.
  • Added exclude_source_file to the experimental API
  • Minor performance improvements

Fixes

  • Pass user-defined include paths to the compiler

Release r2

08 Jul 21:23
Compare
Choose a tag to compare

Changes:

Automatically configures Win32/MSVC environment on Windows.
No longer need to call vcvarsall or run MSVC's command prompt to build the project.

Changed versioning scheme to a simpler version bump for the tool and the API.
The idea of semantic versioning never fully worked for me, the only part that should change is the minor version, which will become the counter for the API. Version of the tool would just signal a release version.

Rebuild project when configuration changes.
Perhaps not the best solution for a large-scale project, but since that's not a big concern at this point, it's a good enough solution to have at least something to avoid calling clean manually to force rebuild.

Return error code on build failure.
Would print more details about the error and properly communicate the status to the OS. Should improve the integration with other programs when the error happens.