Releases: markfinal/BuildAMation
Release version 1.1.2
Highlights of v1.1.2
This is a bug fix update for v1.1.1.
Note: A regression has been found in this release, for macOS and Linux. See bug #359.
Please use v1.1.1 for those platforms until this has been fixed.
- Updated the VisualC-15.0 package to work with the latest release of VisualStudio 2017, 15.3.1.
- Missing prebuilt tool executables will now throw an exception.
Known issues
Version 1.1.1
Highlights of v1.1.1
This bug fix update builds on the newer toolchains provided by v1.1.0.
Linux and OSX builds are compatible with the recent Mono 5 release, although not taking advantage of new features until a future BAM release. Additionally, with Mono 5 now officially available on CentOS 6, this allows use of the BAM with the devtoolset-2 package (GCC 4.8), meaning software built has lower GLIBC versions dependencies for wider compatibility with users distros.
- Fixed the VisualStudio 2017 redist paths, which changed sometime after RTM.
- Improved Assembler tool support, particularly in VisualStudio that now uses MASM tools rather than custom build rules, and added a new test case,
AssemblerTest1. - Default minimum macOS version dropped to 10.6 (previously was the current SDK) to maximise compatibility. See the
Cxx11Test1example for how to change it. - More C++ language standards exposed in the C package.
- Fixed race condition in multithreaded MakeFile generation build mode. All tests generating MakeFiles should now pass in all supported platforms/toolchains.
- Fixes to
.csprojfiles to work in a case sensitive filesystem with Monodevelop 7+. - Added
C.PatchUtilitiesstatic utility class, with the helper functionsGetCompilerandGetBitDepth. These are useful for conditional settings in a static patch function (as opposed to a lambda patch).
Known issues
Version 1.1.1 beta 4
Highlights of v1.1.1 beta 4
- Fix race condition in MakeFile build mode that would result in some necessary directories not being created by the generated MakeFile.
- Added utilities to the C package,
GetCompilerandGetBitDepth, which are useful when this information is required in a settings patch function (particularly a static patch). - More tests are now exercises in MakeFile and Xcode build modes.
Known issues
Version 1.1.1 beta 3
Highlights of v1.1.1 beta 3
- Fixes for Mingw assembler support, including the AssemblerTest1 example.
- Fixes for building DeltaSettingsTest2 on Linux.
Known issues
Version 1.1.1 beta 2
Highlights of v1.1.1 beta 2
- VisualStudio 2017 assembler tool (
ml.exe/ml64.exe) can now be located. C.ICommonWinResourceCompilerSettingsnow has a property,PreprocessorDefines, to pass definitions to the resource compiler.- Xcode projects with some source files with
Pedanticset, and some without, have been tweaked so that per-file compiler settings produce the expected result. - Assembler support for VisualStudio now use
MASMrules, rather than custom build commands. - More complete support for assembler tools on all platforms. Includes new test case,
AssemblerTest1. - Other bug fixes.
Known issues
Version 1.1.1 beta 1
Highlights of v1.1.1 beta 1
- Added all missing current C++ standards to
C.Cxx.ELanguageStandards enumeration. Those added areCxx03,GnuCxx03(not supported by Clang),GnuCxx11,Cxx14,GnuCxx14. - Default macOS deployment version is now 10.6 (previously was the current SDK version), for maximum backward compatibility. The default can be overridden by implementing the interface
Bam.Core.IPackageMetaDataConfigure<Clang.MetaData>. See theCxx11Test1example.
Known issues
Version 1.1.0
Highlights of v1.1.0
This update allows greater configuration by the user, and supports newer toolchains.
- Named modules can now declare a configuration interface, so that user scripts can define different flavours.
- Support VisualStudio 2017
- Support Gcc 5
- Support Xcode 8 (now the default used by tests).
- Compiler versions can now be queried in build scripts.
Known issues
Version 1.0.5
Highlights of v1.0.5
- Fixed version check for newer major/minor editions.
Known issues
Version 1.1.0 beta 3
Highlights of v1.1.0 beta 3
- Added
Bam.Core.ISemanticVersion, and extension methods to compare anISemanticVersionagainst a specified version (seeISemanticVersion.IsAtLeast). This mechanism can then be used to write scripts specific to a version of a tool, e.g a compiler. Added version numbers to VisualC, Gcc, Clang and Mingw compilers. See Test8 for an example. - Added read-only property,
C.CCompilableModuleContainer.Compiler. This was already exposed on individualObjectFiles, so this just exposes it on their containers. - C source container indexing can now accept a path, using forward slashes to separate directories, to pattern match files in the container. This now works on Windows, using the BAM standard of forward slashes in paths.
MingwCommon.IArchiverSettingsandGccCommon.IArchiverSettingshave been renamed, for consistency, toMingwCommon.ICommonArchiverSettingsandGccCommon.ICommonArchiverSettings. NOTE: this can be a breaking change, if the previous interface names were used in user script patches.
Full changes since v1.1.0 beta 2
Known issues
Version 1.1.0 beta 2
Highlights of v1.1.0 beta 2
- Added support for Visual Studio 2017
- Added support for Xcode 8
- Added support for Gcc 5.4
Full changes since v1.1.0 beta 1