# - Try to find M&S HLA RTI libraries # This module finds if any HLA RTI is installed and locates the standard RTI # include files and libraries. # # RTI is a simulation infrastructure standardized by IEEE and SISO. It has a # well defined C++ API that assures that simulation applications are # independent on a particular RTI implementation. # http://en.wikipedia.org/wiki/Run-Time_Infrastructure_(simulation) # # This code sets the following variables: # RTI_INCLUDE_DIR = the directory where RTI includes file are found # RTI_LIBRARIES = The libraries to link against to use RTI # RTI_DEFINITIONS = -DRTI_USES_STD_FSTREAM # RTI_FOUND = Set to FALSE if any HLA RTI was not found # # Report problems to <certi-devel@nongnu.org> #============================================================================= # Copyright 2008-2009 Kitware, Inc. # Copyright 2008 Petr Gotthard <gotthard@honeywell.com> # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. # # This software is distributed WITHOUT ANY WARRANTY; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # See the License for more information. #============================================================================= # (To distribute this file outside of CMake, substitute the full # License text for the above reference.) MACRO(RTI_MESSAGE_QUIETLY QUIET TYPE MSG) IF(NOT ${QUIET}) MESSAGE(${TYPE} "${MSG}") ENDIF(NOT ${QUIET}) ENDMACRO(RTI_MESSAGE_QUIETLY QUIET TYPE MSG) # Detect the CERTI installation, http://www.cert.fr/CERTI IF ("$ENV{CERTI_HOME}" STRGREATER "") FILE(TO_CMAKE_PATH "$ENV{CERTI_HOME}" CERTI_HOME) RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "Using environment defined CERTI_HOME: ${CERTI_HOME}") ENDIF ("$ENV{CERTI_HOME}" STRGREATER "") SET(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM") # Detect the MAK Technologies RTI installation, http://www.mak.com/products/rti.php # note: the following list is ordered to find the most recent version first SET(RTI_POSSIBLE_DIRS ${CERTI_HOME} "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 3.2 MSVC++ 8.0;Location]" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 3.2-win32-msvc++8.0;InstallLocation]" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 2.2;Location]" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 2.2;InstallLocation]") SET(RTI_OLD_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}") # The MAK RTI has the "lib" prefix even on Windows. SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "") FIND_LIBRARY(RTI_LIBRARY NAMES RTI RTI-NG PATHS ${RTI_POSSIBLE_DIRS} PATH_SUFFIXES lib DOC "The RTI Library") IF (RTI_LIBRARY) SET(RTI_LIBRARIES ${RTI_LIBRARY}) RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library found: ${RTI_LIBRARY}") ELSE (RTI_LIBRARY) RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library NOT found") ENDIF (RTI_LIBRARY) FIND_LIBRARY(RTI_FEDTIME_LIBRARY NAMES FedTime PATHS ${RTI_POSSIBLE_DIRS} PATH_SUFFIXES lib DOC "The FedTime Library") IF (RTI_FEDTIME_LIBRARY) SET(RTI_LIBRARIES ${RTI_LIBRARIES} ${RTI_FEDTIME_LIBRARY}) RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI FedTime found: ${RTI_FEDTIME_LIBRARY}") ENDIF (RTI_FEDTIME_LIBRARY) FIND_PATH(RTI_INCLUDE_DIR NAMES RTI.hh PATHS ${RTI_POSSIBLE_DIRS} PATH_SUFFIXES include DOC "The RTI Include Files") IF (RTI_INCLUDE_DIR) RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers found: ${RTI_INCLUDE_DIR}") ELSE (RTI_INCLUDE_DIR) RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers NOT found") ENDIF (RTI_INCLUDE_DIR) # Set the modified system variables back to the original value. SET(CMAKE_FIND_LIBRARY_PREFIXES "${RTI_OLD_FIND_LIBRARY_PREFIXES}") INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) FIND_PACKAGE_HANDLE_STANDARD_ARGS(RTI DEFAULT_MSG RTI_LIBRARY RTI_INCLUDE_DIR) # $Id$