History log of /seL4-test-master/tools/seL4/cmake-tool/helpers/cakeml.cmake
Revision Date Author Comments
# 9f904ed2 06-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

convert license headers to SPDX

Includes license review of 3rd-party files, adding missing upstream
headers, and moving the UNSW OZPLB license into its own file rather
than replicating it in the header.


# 665b186e 20-Nov-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

CMake: add CMakeForegroundComplexCommands option

When this option is set, custom_commands that have been passed
USES_TERMINAL_DEBUG will get USES_TERMINAL set which puts them in the
console pool in Ninja. This results in direct access to stdio which
allows for direct logging of build output or the possibility of user
input.


# 644c8466 02-Sep-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

cmake: New CakeML version replaces arm6 with arm7

ARMv6 is no longer a supported target and ARMv7 replaces it.


# dab5cfed 10-May-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

CMake: Add support for multiple CakeML libraries

Holmake allegedly doesn't support being called to concurrently build
multiple targets with common dependencies. We need to serialise
invocations of Holmake and achieve this by forcing each CakeML library
to depend on the previously defined CakeML library. These are order-only
dependency constraints and so if one library is stale it won't force
unrelated libraries to be rebuilt unnecessarily.


# e7bbcd12 10-May-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

CMake: Construct CakeML build files from templates

The behavior of DeclareCakeMLLib is unchanged, but it should be easier
to maintain the build files without them being inlined in a CMake file.


# 40d42cb5 30-Apr-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

CMake: Refactor helpers to be included on demand

As more helper files get added it becomes more expensive to include them
all in common.cmake. We instead add them to the CMAKE_MODULE_PATH and
allow them to be imported as CMake modules. Adding global include guards
allows them to be imported multiple times without processing every time.


# e900ebbf 15-Apr-2019 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Remove bad project definition in cakeml.cmake

This shouldn't be here as it is a helper/module and not a project.


# a8950605 20-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: style cmake files consistently


# a7102212 25-Oct-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

cakeml.cmake: Parameterised Cake Binary

Extended cakeml.cmake to find the cake binary. This in addition
allows the user to pass in the Cake binary from command line. This
is required if the user wishes to use a specific cake binary that
targets a different architecture.


# 436de422 24-Oct-2018 Michael Sproul <michael.sproul@data61.csiro.au>

cakeml: update for meta_utils usage

1. Make the Holmake build step depend on the dependencies passed to
DeclareCakeMLLib
2. Pass CAKEMLDIR as an environment variable when invoking Holmake so that
it can be picked up by child Holmake processes


# a8f1c879 18-Oct-2018 Adam Felizzi <Adam.Felizzi@data61.csiro.au>

CMake: ARMV6-8 support for CAKE_TARGET

Infer the CAKE_TARGET for ARMV6-8 platforms.


# 1a5847e8 16-Oct-2018 Michael Sproul <michael.sproul@data61.csiro.au>

cakeml: fix list syntax for multiple HOL includes


# 004911f7 18-Sep-2018 Michael Sproul <michael.sproul@data61.csiro.au>

cakeml: pass extra options to Holmake

It is now possible to run a build with:

../init-build.sh -DHOL_EXTRA_OPTS="--fast;--qof"

Arguments must be semicolon separated (i.e. a CMake list)


# 37b7faac 17-Sep-2018 Michael Sproul <michael.sproul@data61.csiro.au>

cakeml: update buildScript.sml template for new CakeML version


# f3c281df 23-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake-tool: Allow rm'ing zero files

Passing -f the rm handles the freshly initialize case where there are not yet any files
to remove and so rm would complain about missing operands.


# 8ea9b7e2 12-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake-tool: Remove all symlinked .sml files

This removes any file in the CakeML build directory that is both a symlink and a .sml file
instead of just Script.sml files. Unfortunately the user might have provided additional .sml
files that are not Script.sml, and HOL will spew intermediate files with the .sml extension.
The easiest way to distinguish is to check which ones are symlinks.


# c81ff8b9 05-Jul-2018 Michael Sproul <michael.sproul@data61.csiro.au>

cmake: fix CakeML buildScript.sml template

Holmake was having issues parsing the dependencies from the `open` statement
sans semicolon.


# 635b8ab5 04-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake: Symlink CakeML sources instead of copying

Symlinking the CakeML sources into a dedicated directory allows for treating this directory
as a HOL development directory to iterate the sources without having to remember to replay
any changes to the 'original' files prior to rebuilding and recopying the files.

This change has no functional differences, it is purely intended to make life easier for
developers who are actuall writing and iterating on CakeML/HOL code in.


# 323f2359 04-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

trivial: tabs->spaces


# 0f27de4a 02-Jul-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake-tool: Support generator expressions in CakeML sources

Changes the copying of CakeML sources to have a single copy command that produces a stamp
file. This allows for the source files list to contain generator expression lists.


# 00f5e802 15-Jun-2018 Adrian Danis <Adrian.Danis@data61.csiro.au>

cmake: Helper for compiling cakeML HOL theories

Provides a helper function for creating a linkable library out of some cakeML HOL theories