51 lines
1.2 KiB
CMake
51 lines
1.2 KiB
CMake
# Include Flex/Bison generation rules
|
|
include(${CMAKE_SOURCE_DIR}/cmake/flexYacc.cmake)
|
|
|
|
# Consolidated smocore library with all source files
|
|
add_library(smocore STATIC
|
|
# Core files
|
|
mind.cpp
|
|
opts.cpp
|
|
componentThread.cpp
|
|
component.cpp
|
|
painfulQuale.cpp
|
|
qutex.cpp
|
|
lockerAndInvokerBase.cpp
|
|
|
|
# Body
|
|
body/body.cpp
|
|
|
|
# Marionette
|
|
marionette/main.cpp
|
|
marionette/salmanoff.cpp
|
|
marionette/lifetime.cpp
|
|
marionette/qualeEvent.cpp
|
|
|
|
# DeviceManager
|
|
deviceManager/deviceManager.cpp
|
|
deviceManager/deviceReattacher.cpp
|
|
deviceManager/deviceAttachmentPipeSpecParser.cpp
|
|
${LEX_OUTPUT}
|
|
${YACC_OUTPUT}
|
|
|
|
# SenseApis
|
|
stimBuffApis/stimBuffApiManager.cpp
|
|
|
|
# MindManager
|
|
mindManager/mindManager.cpp
|
|
)
|
|
|
|
# Conditionally add qutexAcquisitionHistoryTracker.cpp only when debug locks are enabled
|
|
if(ENABLE_DEBUG_LOCKS)
|
|
target_sources(smocore PRIVATE qutexAcquisitionHistoryTracker.cpp)
|
|
endif()
|
|
|
|
target_include_directories(smocore PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
)
|
|
|
|
# Link against pthread for CPU affinity functions
|
|
find_package(Threads REQUIRED)
|
|
target_link_libraries(smocore PRIVATE Threads::Threads)
|