@@ -51,41 +51,55 @@ else()
5151 message (STATUS "dmod target already exists, skipping FetchContent" )
5252endif ()
5353
54+ include (${DMOD_DIR} /paths.cmake )
55+
5456# ======================================================================
55- # DMOD OSI Library
57+ # DMOD OSI Interface Library
5658# ======================================================================
5759set (MODULE_NAME dmosi)
58- add_library (${MODULE_NAME} STATIC
59- src/dmosi.c
60- )
6160
62- target_compile_definitions (${MODULE_NAME}
63- PRIVATE
64- $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API} >:DMOSI_DONT_IMPLEMENT_DMOD_API >
65- $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX} >:DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX >
66- $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_ENV} >:DMOSI_DONT_IMPLEMENT_DMOD_API_ENV >
67- $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_PROC} >:DMOSI_DONT_IMPLEMENT_DMOD_API_PROC >
68- $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_TIME} >:DMOSI_DONT_IMPLEMENT_DMOD_API_TIME >
69- DMOSI_VERSION= "${PROJECT_VERSION} "
61+ add_library (dmosi_if INTERFACE )
62+ target_include_directories (dmosi_if
63+ INTERFACE
64+ ${CMAKE_CURRENT_SOURCE_DIR} /include
7065)
7166
72- target_include_directories (${MODULE_NAME}
73- PUBLIC
74- ${CMAKE_CURRENT_SOURCE_DIR} /include
75- )
67+ # ======================================================================
68+ # DMOD OSI Library (system mode only)
69+ # ======================================================================
70+ if (DMOD_SYSTEM)
71+ add_library (${MODULE_NAME} STATIC
72+ src/dmosi.c
73+ )
7674
77- target_link_libraries (${MODULE_NAME}
78- PRIVATE
79- dmod_inc
75+ target_compile_definitions (${MODULE_NAME}
76+ PRIVATE
77+ $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API} >:DMOSI_DONT_IMPLEMENT_DMOD_API >
78+ $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX} >:DMOSI_DONT_IMPLEMENT_DMOD_API_MUTEX >
79+ $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_ENV} >:DMOSI_DONT_IMPLEMENT_DMOD_API_ENV >
80+ $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_PROC} >:DMOSI_DONT_IMPLEMENT_DMOD_API_PROC >
81+ $<$<BOOL :${DMOSI_DONT_IMPLEMENT_DMOD_API_TIME} >:DMOSI_DONT_IMPLEMENT_DMOD_API_TIME >
82+ DMOSI_VERSION= "${PROJECT_VERSION} "
8083 )
8184
82- # Enable coverage for dmosi library if requested
83- if (ENABLE_COVERAGE)
84- target_compile_options (${MODULE_NAME} PRIVATE --coverage )
85- target_link_options (${MODULE_NAME} PRIVATE --coverage )
86- endif ()
85+ target_include_directories (${MODULE_NAME}
86+ PUBLIC
87+ ${CMAKE_CURRENT_SOURCE_DIR} /include
88+ )
89+
90+ target_link_libraries (${MODULE_NAME}
91+ PRIVATE
92+ dmod_inc
93+ )
94+
95+ # Enable coverage for dmosi library if requested
96+ if (ENABLE_COVERAGE)
97+ target_compile_options (${MODULE_NAME} PRIVATE --coverage )
98+ target_link_options (${MODULE_NAME} PRIVATE --coverage )
99+ endif ()
87100
88- create_library_makefile (${MODULE_NAME} )
101+ create_library_makefile (${MODULE_NAME} )
102+ endif ()
89103
90104# ======================================================================
91105# Tests
0 commit comments