summaryrefslogtreecommitdiffstatshomepage
path: root/examples/usercmodule/cppexample/micropython.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'examples/usercmodule/cppexample/micropython.cmake')
-rw-r--r--examples/usercmodule/cppexample/micropython.cmake22
1 files changed, 22 insertions, 0 deletions
diff --git a/examples/usercmodule/cppexample/micropython.cmake b/examples/usercmodule/cppexample/micropython.cmake
new file mode 100644
index 0000000000..43e8d887f5
--- /dev/null
+++ b/examples/usercmodule/cppexample/micropython.cmake
@@ -0,0 +1,22 @@
+# Create an INTERFACE library for our CPP module.
+add_library(usermod_cppexample INTERFACE)
+
+# Add our source files to the library.
+target_sources(usermod_cppexample INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}/example.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/examplemodule.c
+)
+
+# Add the current directory as an include directory.
+target_include_directories(usermod_cppexample INTERFACE
+ ${CMAKE_CURRENT_LIST_DIR}
+)
+
+# Enable the module automatically by adding the relevant compile definitions.
+target_compile_definitions(usermod_cppexample INTERFACE
+ MODULE_CPPEXAMPLE_ENABLED=1
+)
+
+# Link our INTERFACE library to the usermod target.
+target_link_libraries(usermod INTERFACE usermod_cppexample)
+