examples/usercmodule: Add micropython.cmake to the C and CPP examples.
examples/usercmodule/micropython.cmake: Root micropython.cmake file is responsible for including modules. examples/usercmodule/cexample/micropython.cmake: examples/usercmodule/cppexample/micropython.cmake: Module micropython.cmake files define the target and link it to usermod. Signed-off-by: Phil Howard <phil@pimoroni.com>
This commit is contained in:
parent
0cf12dd59c
commit
cc497d4c6a
|
@ -0,0 +1,21 @@
|
||||||
|
# Create an INTERFACE library for our C module.
|
||||||
|
add_library(usermod_cexample INTERFACE)
|
||||||
|
|
||||||
|
# Add our source files to the lib
|
||||||
|
target_sources(usermod_cexample INTERFACE
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}/examplemodule.c
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add the current directory as an include directory.
|
||||||
|
target_include_directories(usermod_cexample INTERFACE
|
||||||
|
${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
# Enable the module automatically by adding the relevant compile definitions.
|
||||||
|
target_compile_definitions(usermod_cexample INTERFACE
|
||||||
|
MODULE_CEXAMPLE_ENABLED=1
|
||||||
|
)
|
||||||
|
|
||||||
|
# Link our INTERFACE library to the usermod target.
|
||||||
|
target_link_libraries(usermod INTERFACE usermod_cexample)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# This top-level micropython.cmake is responsible for listing
|
||||||
|
# the individual modules we want to include.
|
||||||
|
# Paths are absolute, and ${CMAKE_CURRENT_LIST_DIR} can be
|
||||||
|
# used to prefix subdirectories.
|
||||||
|
|
||||||
|
# Add the C example.
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/cexample/micropython.cmake)
|
||||||
|
|
||||||
|
# Add the CPP example.
|
||||||
|
include(${CMAKE_CURRENT_LIST_DIR}/cppexample/micropython.cmake)
|
||||||
|
|
Loading…
Reference in New Issue