123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file Copyright.txt or https://cmake.org/licensing for details.
- #[=======================================================================[.rst:
- FindRTI
- -------
- 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>
- #]=======================================================================]
- macro(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
- if(NOT ${QUIET})
- message(${TYPE} "${MSG}")
- endif()
- endmacro()
- set(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM")
- # Detect the CERTI installation, http://www.cert.fr/CERTI
- # 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
- ENV 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_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library NOT found")
- endif ()
- 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 ()
- 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_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers NOT found")
- endif ()
- # 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$
|