source: flair-dev/trunk/cmake-modules/FindXenomai.cmake@ 104

Last change on this file since 104 was 2, checked in by Sanahuja Guillaume, 9 years ago

initial commit flaircore

File size: 2.8 KB
Line 
1# - Try to find the Xenomai Real-Time
2# Will define:
3#
4# XENOMAI_INCLUDE_DIR - Include directories needed to use the C++ driver
5# XENOMAI_INCLUDE_POSIX_DIR - Include directories for POSIX systems
6# XENOMAI_POSIX_WRAPPERS - Directories containing the libraries (win)
7# XENOMAI_LIBRARY_XENOMAI - Xenomai library
8# XENOMAI_LIBRARY_NATIVE - Native library
9# XENOMAI_LIBRARY_PTHREAD_RT -
10# XENOMAI_LIBRARY_RTDM -
11# XENOMAI_DEFINITIONS - Xenomai definitions / compiler flags
12#
13# Possible hints:
14# XENOMAI_ROOT - root directory of the TBB installation
15#
16# Copyright (C) 2010 by Arne Nordmann <anordman at cor-lab dot de>
17#
18# This file may be licensed under the terms of the
19# GNU Lesser General Public License Version 3 (the ``LGPL''),
20# or (at your option) any later version.
21#
22# Software distributed under the License is distributed
23# on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
24# express or implied. See the LGPL for the specific language
25# governing rights and limitations.
26#
27# You should have received a copy of the LGPL along with this
28# program. If not, go to http://www.gnu.org/licenses/lgpl.html
29# or write to the Free Software Foundation, Inc.,
30# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
31#
32# The development of this software was supported by:
33# CoR-Lab, Research Institute for Cognition and Robotics
34# Bielefeld University
35
36IF(UNIX)
37
38 # Search Path
39 SET(XENOMAI_SEARCH_PATH ${ADDITIONAL_XENOMAI_SEARCH_PATH} /usr/include/xenomai /usr/local/xenomai /usr/xenomai/include /usr/xenomai /usr /include/xenomai)
40
41 # Try to find xeno-config.h
42 FIND_PATH(XENOMAI_DIR xeno_config.h ${XENOMAI_SEARCH_PATH})
43
44 IF(XENOMAI_DIR)
45 SET(XENOMAI_FOUND TRUE)
46
47 SET(XENOMAI_INCLUDE_DIR ${XENOMAI_DIR})
48 SET(XENOMAI_INCLUDE_POSIX_DIR ${XENOMAI_DIR}/posix)
49
50 # Find xenomai pthread
51
52 FIND_LIBRARY(XENOMAI_LIBRARY_NATIVE native ${XENOMAI_DIR}/../../lib)
53 FIND_LIBRARY(XENOMAI_LIBRARY_XENOMAI xenomai ${XENOMAI_DIR}/../../lib)
54 FIND_LIBRARY(XENOMAI_LIBRARY_PTHREAD_RT pthread_rt rtdm ${XENOMAI_DIR}/../../lib)
55 FIND_LIBRARY(XENOMAI_LIBRARY_RTDM rtdm ${XENOMAI_DIR}/../../lib)
56 FIND_LIBRARY(XENOMAI_LIBRARY_RTDK rtdk ${XENOMAI_DIR}/../../lib)
57
58 SET(XENOMAI_LIBRARIES ${XENOMAI_LIBRARY_RTDM} ${XENOMAI_LIBRARY_NATIVE})
59 IF(XENOMAI_LIBRARY_XENOMAI)
60 SET(XENOMAI_LIBRARIES ${XENOMAI_LIBRARIES} ${XENOMAI_LIBRARY_XENOMAI} )
61 ENDIF()
62 IF(XENOMAI_LIBRARY_RTDK)#old xenomai (2.4.7 cube)
63 SET(XENOMAI_LIBRARIES ${XENOMAI_LIBRARIES} ${XENOMAI_LIBRARY_RTDK} )
64 ENDIF()
65 # Find posix wrappers
66 FIND_FILE(XENOMAI_POSIX_WRAPPERS lib/posix.wrappers ${XENOMAI_SEARCH_PATH})
67
68 # Add compile/preprocess options
69 SET(XENOMAI_DEFINITIONS "-D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__")
70
71 ENDIF(XENOMAI_DIR)
72
73ENDIF(UNIX)
74
75INCLUDE(FindPackageHandleStandardArgs)
76FIND_PACKAGE_HANDLE_STANDARD_ARGS(Xenomai DEFAULT_MSG XENOMAI_DIR)
Note: See TracBrowser for help on using the repository browser.