Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

Version 1.0.1

Choose a tag to compare

@markfinal markfinal released this 05 Apr 12:01
· 935 commits to master since this release

The changes included in this stable release have focused on:

  • bug fixing, and clarifying and formalising the BuildAMation API,
  • enabling support for a wider range of Windows Visual Studio toolchains,
  • adding support for building a wider range of open source projects that currently rely on other build systems, e.g. procedurally generated headers with configuration options, such as those generated by an autoconf step, and integrating these with project generation.

Highlights of v1.0.1

  • Added support for VisualStudio 2010, 2012 and 2015 (2013 was already present in v1.0.0). Note that there is a breaking change for identifying the C runtime libraries for VS2015 due to the change by Microsoft for the universal C runtime.
  • Greatly improved publishing of files, directories, symlinks to create a runnable package, but also now being able to use the same API to publish API headers. Supported by all build modes.
  • New wildcards for Bam.Core.TokenizedStrings to capture files recursively. Useful for multi-level directories of header files.
  • C.ProceduralHeaderFile can be used to specify the content of a header file to write, and C.ProceduralHeaderFileFromToolOutput to capture the stdout of a tool built earlier into a header file.
  • Clarified the valid use of CompileAgainst and derivative functions from the C package on which types of module, and what Public means to expose patches through module hierarchies. This may be a breaking change for some scripts as API functions have moved between module types, but is easily fixed. The API documentation has been updated to reflect the changes.
  • Improved the identification of #includes for dependency scanning in the Native build mode, to cover more cases seen in open source software.
  • Improved dependencies (both link time and order only) in generated VisualStudio, Xcode projects and MakeFiles.
  • Projects containing files that shouldn't be compiled (e.g. are #include'd by another source file) can now be marked as such, so remain browsable, but not buildable.
  • Projects with source files with identical leaf-names in separate source directories no longer fail the build with colliding object file names. Binary and intermediate output file paths are constructed to be as unique as possible, mirroring on the source file hierarchy, and choosing subdirectories based on generated file type.
  • More compiler/linker features exposed as named settings to be used in patches.
  • Updated API documentation, with additional details of both existing and new features.
  • Many exception messages have been expanded upon, with hints for how to fix common errors.
  • Many more bug fixes.

Full changes since v1.0.0

Known issues

Bug list