zephyr/cmake/pristine.cmake
Sebastian Bøe 12f8f76165 Introduce cmake-based rewrite of KBuild
Introducing CMake is an important step in a larger effort to make
Zephyr easy to use for application developers working on different
platforms with different development environment needs.

Simplified, this change retains Kconfig as-is, and replaces all
Makefiles with CMakeLists.txt. The DSL-like Make language that KBuild
offers is replaced by a set of CMake extentions. These extentions have
either provided simple one-to-one translations of KBuild features or
introduced new concepts that replace KBuild concepts.

This is a breaking change for existing test infrastructure and build
scripts that are maintained out-of-tree. But for FW itself, no porting
should be necessary.

For users that just want to continue their work with minimal
disruption the following should suffice:

Install CMake 3.8.2+

Port any out-of-tree Makefiles to CMake.

Learn the absolute minimum about the new command line interface:

$ cd samples/hello_world
$ mkdir build && cd build
$ cmake -DBOARD=nrf52_pca10040 ..

$ cd build
$ make

PR: zephyrproject-rtos#4692
docs: http://docs.zephyrproject.org/getting_started/getting_started.html

Signed-off-by: Sebastian Boe <sebastian.boe@nordicsemi.no>
2017-11-08 20:00:22 -05:00

16 lines
557 B
CMake

# NB: This could be dangerous to execute, it is assuming the user is
# checking that the build is out-of-source with code like this:
#
# if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
# message(FATAL_ERROR "Source directory equals build directory.\
# In-source builds are not supported.\
# Please specify a build directory, e.g. cmake -Bbuild -H.")
# endif()
file(GLOB build_dir_contents ${CMAKE_BINARY_DIR}/*)
foreach(file ${build_dir_contents})
if (EXISTS ${file})
file(REMOVE_RECURSE ${file})
endif()
endforeach(file)