62 lines
1.9 KiB
CMake
62 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.0)
|
|
project(superviseur)
|
|
|
|
# Import modules
|
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake-modules)
|
|
|
|
# Compile libraries
|
|
# Base64
|
|
add_library(base64
|
|
lib/base64/base64.cpp
|
|
lib/base64/base64.h
|
|
)
|
|
target_include_directories(base64 PUBLIC lib/base64)
|
|
|
|
# lib
|
|
add_library(lib
|
|
lib/camera.cpp
|
|
lib/camera.h
|
|
lib/commonitor.cpp
|
|
lib/commonitor.h
|
|
lib/comrobot.cpp
|
|
lib/comrobot.h
|
|
lib/img.cpp
|
|
lib/img.h
|
|
lib/messages.cpp
|
|
lib/messages.h
|
|
)
|
|
target_include_directories(lib PUBLIC lib)
|
|
target_link_libraries(lib base64)
|
|
|
|
# Compile main executable
|
|
add_executable(main main.cpp tasks.cpp tasks.h)
|
|
target_link_libraries(main lib)
|
|
|
|
# OpenCV
|
|
#set (OpenCV_DIR /path/to/opencv) # Optiona: hint for OpenCV root folder
|
|
find_package(OpenCV REQUIRED)
|
|
target_link_libraries(lib ${OpenCV_LIBS})
|
|
|
|
# Raspicam_CV
|
|
#find_package(raspicam REQUIRED)
|
|
#target_link_libraries(lib ${raspicam_CV_LIBS})
|
|
|
|
# Xenomai
|
|
set(Xenomai_ROOT_DIR /usr/xenomai) # Optional: hint for Xenomai root folder
|
|
set(Xenomai_libs POSIX ALCHEMY RTDM PSOS VXWORKS SMOKEY NATIVE) # List of Xenomai libraries to link
|
|
|
|
find_package(Xenomai 3.0 REQUIRED ${Xenomai_libs})
|
|
if (Xenomai_FOUND)
|
|
message(STATUS "Xenomai found with theses skins: ${Xenomai_SKINS}")
|
|
else ()
|
|
message(FATAL_ERROR "Xenomai not found")
|
|
endif ()
|
|
|
|
foreach (lib IN LISTS Xenomai_libs)
|
|
message(STATUS ${lib}: ${Xenomai_${lib}_LDFLAGS})
|
|
target_link_options(main PRIVATE ${Xenomai_${lib}_LDFLAGS})
|
|
target_include_directories(main PRIVATE ${Xenomai_${lib}_INCLUDE_DIR})
|
|
target_link_libraries(main ${Xenomai_${lib}_LIBRARY_DIRS} ${Xenomai_${lib}_LIBRARIES})
|
|
set_target_properties(main PROPERTIES LINK_FLAGS ${Xenomai_${lib}_LDFLAGS})
|
|
target_compile_definitions(main PRIVATE ${Xenomai_${lib}_DEFINITIONS})
|
|
endforeach ()
|