summaryrefslogtreecommitdiffstats
path: root/cmake/device_utils.cmake
diff options
context:
space:
mode:
authorMarkus Mittendrein <git@maxmitti.at>2025-02-25 23:37:17 +0100
committerMarkus Mittendrein <git@maxmitti.at>2025-02-25 23:39:45 +0100
commit1b3d654c764b25cdd979acca0c956564cfe8358d (patch)
tree25b08bca9fb82d4bc7b293d273dc095207e9d0d8 /cmake/device_utils.cmake
downloadmsp432_test-master.tar.gz
msp432_test-master.zip
InitialHEADmaster
Diffstat (limited to 'cmake/device_utils.cmake')
-rw-r--r--cmake/device_utils.cmake15
1 files changed, 15 insertions, 0 deletions
diff --git a/cmake/device_utils.cmake b/cmake/device_utils.cmake
new file mode 100644
index 0000000..5309f5c
--- /dev/null
+++ b/cmake/device_utils.cmake
@@ -0,0 +1,15 @@
+include(utils)
+
+function (create_device_target arch_flags device_defines include_dirs linker_script system_code)
+ add_library(device OBJECT)
+
+ target_sources(device PRIVATE "${system_code}")
+
+ target_compile_options(device PUBLIC "${arch_flags}")
+ target_compile_definitions(device PUBLIC "${device_defines}")
+ target_include_directories(device PRIVATE "${include_dirs}")
+ target_include_directories(device PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/device")
+
+ target_link_options(device INTERFACE "${arch_flags}")
+ target_linker_script(device INTERFACE "${linker_script}")
+endfunction ()