blob: 05b969cd0d160068c8fced2db1897026c1672436 [file] [log] [blame]
if (NOT TARGET pico_sync_headers)
add_library(pico_sync_headers INTERFACE)
target_link_libraries(pico_sync_headers INTERFACE
hardware_sync_headers
pico_time_headers)
endif()
if (NOT TARGET pico_sync)
pico_add_impl_library(pico_sync)
target_include_directories(pico_sync_headers INTERFACE ${CMAKE_CURRENT_LIST_DIR}/include)
pico_mirrored_target_link_libraries(pico_sync INTERFACE pico_sync_sem pico_sync_mutex pico_sync_critical_section pico_time hardware_sync)
endif()
if (NOT TARGET pico_sync_core)
pico_add_library(pico_sync_core NOFLAG)
target_sources(pico_sync_core INTERFACE
${CMAKE_CURRENT_LIST_DIR}/lock_core.c
)
endif()
if (NOT TARGET pico_sync_sem)
pico_add_library(pico_sync_sem)
target_sources(pico_sync_sem INTERFACE
${CMAKE_CURRENT_LIST_DIR}/sem.c
)
pico_mirrored_target_link_libraries(pico_sync_sem INTERFACE pico_sync_core)
endif()
if (NOT TARGET pico_sync_mutex)
pico_add_library(pico_sync_mutex)
target_sources(pico_sync_mutex INTERFACE
${CMAKE_CURRENT_LIST_DIR}/mutex.c
)
pico_mirrored_target_link_libraries(pico_sync_mutex INTERFACE pico_sync_core)
endif()
if (NOT TARGET pico_sync_critical_section)
pico_add_library(pico_sync_critical_section)
target_sources(pico_sync_critical_section INTERFACE
${CMAKE_CURRENT_LIST_DIR}/critical_section.c
)
pico_mirrored_target_link_libraries(pico_sync_critical_section INTERFACE pico_sync_core)
endif()