# # Copyright (c) 2019, New York University and Max Planck Gesellschaft. # # License BSD-3 clause #
#.rst:
#
# .. cmake:command:: SETUP_XENOMAI
#
# 1. calls xeno-config
# 2. add suitable libraries to linked directories
# 3. add suitable directories to include directories
# 4. setup variable Xenomai_LIBS
.
#
# .. note::
# Has been tested only on Xenomai 2.6.
#
macro(SETUP_XENOMAI)
message(WARNING “nn** compiling for xenomai **nn”)
set (Xenomai_DIR “${CMAKE_CURRENT_LIST_DIR}/xenomai”) find_package(Xenomai REQUIRED)
set(XENOMAI_ROOT ${Xenomai_ROOT_DIR})
- exec_program(${XENOMAI_ROOT}/bin/xeno-config ARGS “–skin=native –cflags”
OUTPUT_VARIABLE XENOMAI_C_FLAGS)
- exec_program(${XENOMAI_ROOT}/bin/xeno-config ARGS “–skin=native –ldflags”
OUTPUT_VARIABLE XENOMAI_LD_FLAGS)
set(CMAKE_C_FLAGS “${XENOMAI_C_FLAGS} ${CMAKE_C_FLAGS}”) set(CMAKE_CPP_FLAGS “${XENOMAI_C_FLAGS} ${CMAKE_CPP_FLAGS}”)
set(Xenomai_LIBS native xenomai rtdm pthread edit curses nsl glut GL GLU X11 Xmu m) if(Xenomai_LIBRARY_RTDK)
set(Xenomai_LIBS ${Xenomai_LIBS} rtdk)
endif()
link_directories(${XENOMAI_ROOT}/lib /usr/lib /usr/X11/lib64 /usr/X11/lib /usr/lib64 ${CMAKE_LIBRARY_PATH})
include_directories( ${Xenomai_INCLUDE_DIR} )
endmacro(SETUP_XENOMAI)