This repository was archived by the owner on Aug 11, 2021. It is now read-only.
Version 1.0.1 beta 5
Pre-release
Pre-release
This is the last planned beta of v1.0.1
Highlights of v1.0.1 beta 5
- Clarified the API for inheriting public patches on C modules. For example,
C.ConsoleApplication(and derived module classes) used to haveCompilePubliclyAndLinkAgainst()which would both use the public patches of a dependent, but also forward them onto any dependee of the application. Applications are the end of the food chain though, so this would never happen, and confused the use of the API. This function has been moved toC.DynamicLibraryandC.CxxDynamicLibrarymodule classes. Note that this is a potentially breaking change to existing build scripts, depending on your use of this function. The likely use cases will be for applications usingCompilePubliclyAndLinkAgainst- just change this toCompileAndLinkAgainst; and any module that accidentally benefited from the inherited patches accidentally - will likely need aCompileAndLinkAgainstadded to resolve any compilation or linker errors. - Dynamic libraries now forward any public dynamic dependencies they have. Static libraries already did this, to avoid the need to specify transient dependencies. This change should simplify build scripts.
- RTTI support in linker settings has been added, see
C.ICommonLinkerSettings.EnableRunTimeTypeInfo. - A new module,
C.ProceduralHeaderFileFromToolOutputhas been added with support in all build modes. While the existingC.ProceduralHeaderFilemodule required string input from the code, this new module takes the standard output from a built executable as the content for the generated header. - A new evaluation reason,
Bam.Core.ExecuteReasoning.EReason.DeferredEvaluation, has been added, to cover the cases as withC.ProceduralHeaderFileFromToolOutput, that does not know if its target file needs to be updated until the build has started. (All other types of evaluation reason trump deferred evaluation.) This is only applicable in the Native build mode currently. - Many bug fixes to improve experience.
Full changes since v1.0.1 beta 4