source: flair-dev/trunk/cmake-modules/FlairUseFile.cmake@ 44

Last change on this file since 44 was 44, checked in by Sanahuja Guillaume, 7 years ago

m

File size: 4.0 KB
Line 
1find_package(LibXml2 REQUIRED)
2find_package(Xenomai QUIET)
3
4if(NOT XENOMAI_FOUND)
5 warn("Xenomai not found, you will not be able to link a real time program")
6endif()
7
8execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
9 OUTPUT_VARIABLE GCC_VERSION)
10
11if (GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
12 if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
13 ADD_DEFINITIONS("-std=c++11")
14 else()
15 ADD_DEFINITIONS("-std=c++0x")
16 endif()
17else()
18 message(STATUS "GCC version < 4.3, c+11 is not supported!")
19endif()
20
21SET(FLAIR_INCLUDE_DIR
22 ${LIBXML2_INCLUDE_DIR}
23 ${CMAKE_SYSROOT}/usr/include/opencv
24 ${FLAIR_DEV}/include/FlairCore
25)
26SET(FLAIR_LIBRARY_DIR
27 ${FLAIR_BIN}/lib/${ARCH_DIR}
28)
29
30SET(FLAIR_LIBRARIES
31 ${LIBXML2_LIBRARIES}
32 udt pthread cv cxcore highgui FileLib rt z
33)
34
35#auto select dependencies
36IF (FLAIR_USE_SIMULATOR)
37 SET(FLAIR_USE_VRPN TRUE)
38ENDIF (FLAIR_USE_SIMULATOR)
39
40#VRPN for motion capture
41IF (FLAIR_USE_VRPN)
42 SET(FLAIR_LIBRARIES vrpn ${FLAIR_LIBRARIES})
43ENDIF (FLAIR_USE_VRPN)
44
45#nmea for GPS
46IF (FLAIR_USE_GPS)
47 SET(FLAIR_LIBRARIES nmea ${FLAIR_LIBRARIES})
48ENDIF (FLAIR_USE_GPS)
49
50#core, will be replace by rt or nrt version at the end
51SET(FLAIR_LIBRARIES FlairCore ${FLAIR_LIBRARIES})
52
53#sensor and actuator lib
54IF (FLAIR_USE_SENSOR_ACTUATOR)
55 SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} ${FLAIR_DEV}/include/FlairSensorActuator)
56 SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairSensorActuator.a ${FLAIR_LIBRARIES})
57ENDIF (FLAIR_USE_SENSOR_ACTUATOR)
58
59#filter lib
60IF (FLAIR_USE_FILTER)
61 SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} ${FLAIR_DEV}/include/FlairFilter)
62 SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairFilter.a iir ${FLAIR_LIBRARIES})
63ENDIF (FLAIR_USE_FILTER)
64
65#meta lib
66IF (FLAIR_USE_META)
67 SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} ${FLAIR_DEV}/include/FlairMeta)
68 SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairMeta.a ${FLAIR_LIBRARIES})
69ENDIF (FLAIR_USE_META)
70
71#simulator lib
72IF (FLAIR_USE_SIMULATOR)
73 if("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")
74 SET(FLAIR_USE_SIMULATOR_GL FALSE)
75 endif()
76 SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR}
77 ${FLAIR_DEV}/include/FlairSimulator
78 ${CMAKE_SYSROOT}/usr/include/irrlicht
79 ${FLAIR_DEV}/include/FlairSensorActuator
80 )
81
82 SET(SIMU_LIBRARY ${FLAIR_LIBRARY_DIR}/libFlairSensorActuator.a)
83 IF (FLAIR_USE_SIMULATOR_GL)
84 ADD_DEFINITIONS("-DGL")
85 SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairSimulator_gl.a
86 ${SIMU_LIBRARY} GL ${FLAIR_LIBRARIES} Irrlicht Xxf86vm)
87 else()
88 SET(FLAIR_LIBRARIES ${FLAIR_LIBRARY_DIR}/libFlairSimulator_nogl.a ${SIMU_LIBRARY} ${FLAIR_LIBRARIES})
89 endif()
90ENDIF (FLAIR_USE_SIMULATOR)
91
92#set RT or NRT specific libraries
93set(FLAIR_LIBRARIES_RT ${FLAIR_LIBRARIES} ${XENOMAI_LIBRARIES})
94
95list(FIND FLAIR_LIBRARIES_RT "FlairCore" POS)
96if(POS GREATER -1)
97 list(REMOVE_AT FLAIR_LIBRARIES_RT ${POS})
98 list(INSERT FLAIR_LIBRARIES_RT ${POS} "${FLAIR_LIBRARY_DIR}/libFlairCore_rt.a")
99endif()
100
101set(FLAIR_LIBRARIES_NRT ${FLAIR_LIBRARIES})
102
103list(FIND FLAIR_LIBRARIES_NRT "FlairCore" POS)
104if(POS GREATER -1)
105 list(REMOVE_AT FLAIR_LIBRARIES_NRT ${POS})
106 list(INSERT FLAIR_LIBRARIES_NRT ${POS} "${FLAIR_LIBRARY_DIR}/libFlairCore_nrt.a")
107endif()
108
109#check if we have a flair-hds directory
110if (IS_DIRECTORY $ENV{FLAIR_ROOT}/flair-hds )
111 message("found flair-hds directory")
112 SET(FLAIRHDS_LIBRARY_DIR
113 $ENV{FLAIR_ROOT}/flair-hds/bin/lib/${ARCH_DIR}
114 )
115
116 if(FLAIR_USE_FILTER)
117 SET(FLAIR_INCLUDE_DIR ${FLAIR_INCLUDE_DIR} $ENV{FLAIR_ROOT}/flair-hds/dev/include/VisionFilter)
118 SET(FLAIR_LIBRARIES_NRT ${FLAIRHDS_LIBRARY_DIR}/libVisionFilter.a ${FLAIRHDS_LIBRARY_DIR}/libdspcv_gpp.a ${FLAIR_LIBRARIES_NRT})
119 SET(FLAIR_LIBRARIES_RT ${FLAIRHDS_LIBRARY_DIR}/libVisionFilter.a ${FLAIRHDS_LIBRARY_DIR}/libdspcv_gpp.a ${FLAIR_LIBRARIES_RT})
120 endif()
121
122 if(FLAIR_USE_META AND "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "arm")
123 SET (ARDRONE2_LIB -Wl,--whole-archive ${FLAIRHDS_LIBRARY_DIR}/libFlairArdrone2.a -Wl,--no-whole-archive)
124 set(FLAIR_LIBRARIES_NRT ${ARDRONE2_LIB} ${FLAIR_LIBRARIES_NRT} nmea)
125 endif()
126endif()
Note: See TracBrowser for help on using the repository browser.