From d807f0ab00ec7b833c8688f0b08b7ecdf9b8d52b Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Sun, 4 Sep 2016 22:12:32 +0200 Subject: o Initial import of mcu.cmake containing old Intel Quark D2000 cmake code and new NRF51 code. The Intel code is not useful and the NRF code needs to be updated to support NRF52 chips. --- README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..2e9ab8f --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# About + +`mcu.cmake` is a CMake library/toolchain helping with integrating the chip vendors SDKs into your CMake-based builds. + +## Goals and considerations + +* Make microcontroller projects look and feel as much as possible as any other c/c++ project +* Use as much as possible of the chip vendor's SDK +* Make the CMake code as uniform as feasible between platforms, but allow for platform-specific options and features. + +# Recommended layout + +For single target builds: + + * A top-level CMake file for your project that sets the current target. + * A copy of mcu.cmake under the project directory + * A single build directory + + + /CMakeLists.txt + /mcu.cmake/ + /build/ + +To build the project the developers would execute something like this: + + git clone --recursive + mkdir build + cd build + cmake .. + +For builds that can build for different targets: + + * A top-level CMake file with all general rules + * A copy of mcu.cmake under the project directory + * A per-configuration settings file that is used when creating the build directory + * A build directory per configuration + + + /CMakeLists.txt + /mcu.cmake/ + /target-a.cmake + /target-b.cmake + /build-a + /build-b + +To build the project the developers would execute something like this: + + git clone --recursive + mkdir build + cd build + cmake -C ../target-a.cmake .. -- cgit v1.2.3