mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-09 15:14:00 +00:00
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>
46 lines
1.1 KiB
CMake
46 lines
1.1 KiB
CMake
# kernel is a normal CMake library and not a zephyr_library because it
|
|
# should not be --whole-archive'd
|
|
add_library(kernel
|
|
alert.c
|
|
device.c
|
|
errno.c
|
|
idle.c
|
|
init.c
|
|
mailbox.c
|
|
mem_slab.c
|
|
mempool.c
|
|
msg_q.c
|
|
mutex.c
|
|
pipes.c
|
|
queue.c
|
|
sched.c
|
|
sem.c
|
|
stack.c
|
|
sys_clock.c
|
|
system_work_q.c
|
|
thread.c
|
|
thread_abort.c
|
|
version.c
|
|
work_q.c
|
|
)
|
|
|
|
target_sources_ifdef(CONFIG_INT_LATENCY_BENCHMARK kernel PRIVATE int_latency_bench.c)
|
|
target_sources_ifdef(CONFIG_STACK_CANARIES kernel PRIVATE compiler_stack_protect.c)
|
|
target_sources_ifdef(CONFIG_SYS_CLOCK_EXISTS kernel PRIVATE timer.c)
|
|
target_sources_ifdef(CONFIG_LEGACY_KERNEL kernel PRIVATE legacy_timer.c)
|
|
target_sources_ifdef(CONFIG_ATOMIC_OPERATIONS_C kernel PRIVATE atomic_c.c)
|
|
target_sources_ifdef(CONFIG_PTHREAD_IPC kernel PRIVATE pthread.c)
|
|
target_sources_if_kconfig( kernel PRIVATE poll.c)
|
|
|
|
target_sources_ifdef(
|
|
CONFIG_USERSPACE
|
|
kernel PRIVATE
|
|
userspace.c
|
|
userspace_handler.c
|
|
mem_domain.c
|
|
)
|
|
|
|
add_dependencies(kernel offsets_h)
|
|
|
|
target_link_libraries(kernel zephyr_interface)
|