pw_cpu_exception_cortex_m: Extend CMake support
Change-Id: I6bc373eead905063c5dcca22cbbe177359f4e830
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/79472
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Wyatt Hepler <hepler@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
diff --git a/pw_cpu_exception_cortex_m/CMakeLists.txt b/pw_cpu_exception_cortex_m/CMakeLists.txt
index 36603bd..5be58cb 100644
--- a/pw_cpu_exception_cortex_m/CMakeLists.txt
+++ b/pw_cpu_exception_cortex_m/CMakeLists.txt
@@ -18,23 +18,29 @@
pw_add_module_config(pw_cpu_exception_cortex_m_CONFIG)
pw_add_module_library(pw_cpu_exception_cortex_m.config
- PUBLIC_DEPS
- ${pw_cpu_exception_cortex_m_CONFIG}
HEADERS
pw_cpu_exception_cortex_m_private/config.h
+ PUBLIC_DEPS
+ ${pw_cpu_exception_cortex_m_CONFIG}
)
pw_add_module_library(pw_cpu_exception_cortex_m.cpu_state
+ HEADERS
+ public/pw_cpu_exception_cortex_m/cpu_state.h
+ PUBLIC_INCLUDES
+ public
PUBLIC_DEPS
pw_preprocessor
pw_preprocessor.arch
- HEADERS
- public/pw_cpu_exception_cortex_m/cpu_state.h
)
pw_add_module_library(pw_cpu_exception_cortex_m.cpu_exception
IMPLEMENTS_FACADES
pw_cpu_exception.entry
+ HEADERS
+ public_overrides/pw_cpu_exception_backend/state.h
+ PUBLIC_INCLUDES
+ public_overrides
PUBLIC_DEPS
pw_preprocessor
pw_preprocessor.arch
@@ -45,11 +51,13 @@
pw_cpu_exception_cortex_m.constants
SOURCES
entry.cc
- HEADERS
- public_overrides/pw_cpu_exception_backend/state.h
)
pw_add_module_library(pw_cpu_exception_cortex_m.util
+ HEADERS
+ public/pw_cpu_exception_cortex_m/util.h
+ PUBLIC_INCLUDES
+ public
PUBLIC_DEPS
pw_cpu_exception_cortex_m.cpu_state
PRIVATE_DEPS
@@ -59,8 +67,6 @@
pw_preprocessor.arch
SOURCES
util.cc
- HEADERS
- public/pw_cpu_exception_cortex_m/util.h
)
pw_add_module_library(pw_cpu_exception_cortex_m.support
@@ -71,6 +77,7 @@
pw_cpu_exception_cortex_m.constants
pw_cpu_exception_cortex_m.util
pw_log
+ pw_polyfill.span
pw_preprocessor.arch
pw_string
SOURCES
@@ -83,6 +90,10 @@
)
pw_add_module_library(pw_cpu_exception_cortex_m.proto_dump
+ HEADERS
+ public/pw_cpu_exception_cortex_m/proto_dump.h
+ PUBLIC_INCLUDES
+ public
PUBLIC_DEPS
pw_cpu_exception_cortex_m.cpu_state
pw_protobuf
@@ -93,8 +104,6 @@
pw_cpu_exception_cortex_m.cpu_state_protos.pwpb
SOURCES
proto_dump.cc
- HEADERS
- public/pw_cpu_exception_cortex_m/proto_dump.h
)
pw_add_module_library(pw_cpu_exception_cortex_m.snapshot
@@ -108,6 +117,7 @@
pw_cpu_exception_cortex_m.constants
pw_cpu_exception_cortex_m.proto_dump
pw_log
+ pw_polyfill.span
SOURCES
snapshot.cc
HEADERS
@@ -120,3 +130,23 @@
HEADERS
pw_cpu_exception_cortex_m_private/cortex_m_constants.h
)
+
+# TODO(pwbug/583): Add ARMv8-M mainline coverage.
+if("${pw_cpu_exception.entry_BACKEND}" STREQUAL
+ "pw_cpu_exception_cortex_m.cpu_exception")
+ pw_add_test(pw_cpu_exception_cortex_m.cpu_exception_entry_test
+ SOURCES
+ exception_entry_test.cc
+ DEPS
+ pw_cpu_exception.entry
+ pw_cpu_exception.handler
+ pw_cpu_exception.support
+ pw_cpu_exception_cortex_m.cortex_m_constants
+ pw_cpu_exception_cortex_m.cpu_exception
+ pw_cpu_exception_cortex_m.cpu_state
+ pw_polyfill.span
+ GROUPS
+ modules
+ pw_cpu_exception_cortex_m
+ )
+endif()