| # 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$ |