if(DEFINED FLAIRUSEFILE_INCLUDED) return() endif() SET(FLAIRUSEFILE_INCLUDED true) find_package(LibXml2 REQUIRED) find_package(Xenomai QUIET) if(NOT XENOMAI_FOUND) warn("Xenomai not found, you will not be able to link a real time program") endif() execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) if (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3) if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7) ADD_DEFINITIONS("-std=c++11") else() ADD_DEFINITIONS("-std=c++0x") endif() else() message(STATUS "GCC version < 4.3, c+11 is not supported!") endif() SET(FLAIR_INCLUDE_DIR $ENV{FLAIR_ROOT}/flair-install/include/FlairCore ) SET(FLAIR_LIBRARY_DIR $ENV{FLAIR_ROOT}/flair-install/lib/${ARCH_DIR} ) SET(FLAIR_LIBRARIES ${LIBXML2_LIBRARIES} udt pthread FileLib rt z ) #auto select dependencies IF (FLAIR_USE_SIMULATOR) SET(FLAIR_USE_VRPN TRUE) ENDIF (FLAIR_USE_SIMULATOR) #VRPN for motion capture IF (FLAIR_USE_VRPN) SET(FLAIR_LIBRARIES vrpn ${FLAIR_LIBRARIES}) ENDIF (FLAIR_USE_VRPN) #nmea for GPS IF (FLAIR_USE_GPS) SET(FLAIR_LIBRARIES nmea ${FLAIR_LIBRARIES}) ENDIF (FLAIR_USE_GPS) #core, will be replace by rt or nrt version at the end SET(FLAIR_LIBRARIES FlairCore ${FLAIR_LIBRARIES}) #vision filter lib IF (FLAIR_USE_VISION_FILTER) if(FOUND_HDS_DIR AND ("${CMAKE_SYSTEM_PROCESSOR_DEFAULTTUNE}" MATCHES "armv7a-neon" OR "${CMAKE_SYSTEM_PROCESSOR_DEFAULTTUNE}" MATCHES "core2-64")) message(${PROJECT_NAME} ": using libdspcv_gpp.a for vision filter") SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-install/include/VisionFilter) SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libVisionFilter.a ${FLAIR_LIBRARY_DIR}/libdspcv_gpp.a ${FLAIR_LIBRARIES}) else() SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-install/include/FlairVisionFilter) SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairVisionFilter.a ${FLAIR_LIBRARIES}) endif() ENDIF (FLAIR_USE_VISION_FILTER) #sensor and actuator lib IF (FLAIR_USE_SENSOR_ACTUATOR) SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-install/include/FlairSensorActuator) SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairSensorActuator.a nmea ${FLAIR_LIBRARIES}) ENDIF (FLAIR_USE_SENSOR_ACTUATOR) #filter lib IF (FLAIR_USE_FILTER) SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-install/include/FlairFilter) SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairFilter.a iir ${FLAIR_LIBRARIES}) ENDIF (FLAIR_USE_FILTER) #meta lib IF (FLAIR_USE_META) SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-install/include/FlairMeta) SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairMeta.a ${FLAIR_LIBRARIES}) ENDIF (FLAIR_USE_META) #simulator lib IF (FLAIR_USE_SIMULATOR) if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm") SET(FLAIR_USE_SIMULATOR_GL FALSE) endif() SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-install/include/FlairSimulator ${CMAKE_SYSROOT}/usr/include/irrlicht ) IF (FLAIR_USE_SIMULATOR_GL) ADD_DEFINITIONS("-DGL") SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairSimulator_gl.a GL ${FLAIR_LIBRARIES} Irrlicht Xxf86vm) else() SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairSimulator_nogl.a ${FLAIR_LIBRARIES}) endif() ENDIF (FLAIR_USE_SIMULATOR) #set RT or NRT specific libraries set(FLAIR_LIBRARIES_RT ${FLAIR_LIBRARIES} ${XENOMAI_LIBRARIES}) list(FIND FLAIR_LIBRARIES_RT "FlairCore" POS) if(POS GREATER -1) list(REMOVE_AT FLAIR_LIBRARIES_RT ${POS}) list(INSERT FLAIR_LIBRARIES_RT ${POS} "${FLAIR_LIBRARY_DIR}/libFlairCore_rt.a") endif() set(FLAIR_LIBRARIES_NRT ${FLAIR_LIBRARIES}) list(FIND FLAIR_LIBRARIES_NRT "FlairCore" POS) if(POS GREATER -1) list(REMOVE_AT FLAIR_LIBRARIES_NRT ${POS}) list(INSERT FLAIR_LIBRARIES_NRT ${POS} "${FLAIR_LIBRARY_DIR}/libFlairCore_nrt.a") endif() #add ardrone2, bebop or minidrones lib if(FOUND_HDS_DIR AND FLAIR_USE_META AND "${CMAKE_SYSTEM_PROCESSOR_DEFAULTTUNE}" MATCHES "armv7a-neon") SET (PARROT_LIB -Wl,--whole-archive ${FLAIR_LIBRARY_DIR}/libFlairArdrone2.a ${FLAIR_LIBRARY_DIR}/libFlairBebop.a -Wl,--no-whole-archive) set(FLAIR_LIBRARIES_NRT ${PARROT_LIB} ${FLAIR_LIBRARIES_NRT} nmea) set(FLAIR_LIBRARIES_RT ${PARROT_LIB} ${FLAIR_LIBRARIES_RT} nmea) endif() if(FOUND_HDS_DIR AND FLAIR_USE_META AND "${CMAKE_SYSTEM_PROCESSOR_DEFAULTTUNE}" MATCHES "armv5te") SET (PARROT_LIB -Wl,--whole-archive ${FLAIR_LIBRARY_DIR}/libFlairMinidrones.a ${FLAIR_LIBRARY_DIR}/libFlairMamboEdu.a -Wl,--no-whole-archive) set(FLAIR_LIBRARIES_NRT ${PARROT_LIB} ${FLAIR_LIBRARIES_NRT} nmea) set(FLAIR_LIBRARIES_RT ${PARROT_LIB} ${FLAIR_LIBRARIES_RT} nmea) endif()