FindRTI.cmake 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. # - Try to find M&S HLA RTI libraries
  2. # This module finds if any HLA RTI is installed and locates the standard RTI
  3. # include files and libraries.
  4. #
  5. # RTI is a simulation infrastructure standartized by IEEE and SISO. It has a
  6. # well defined C++ API that assures that simulation applications are
  7. # independent on a particular RTI implementation.
  8. # http://en.wikipedia.org/wiki/Run-Time_Infrastructure_(simulation)
  9. #
  10. # This code sets the following variables:
  11. # RTI_INCLUDE_DIR = the directory where RTI includes file are found
  12. # RTI_LIBRARIES = The libraries to link against to use RTI
  13. # RTI_DEFINITIONS = -DRTI_USES_STD_FSTREAM
  14. # RTI_FOUND = Set to FALSE if any HLA RTI was not found
  15. #
  16. # Report problems to <[email protected]>
  17. INCLUDE(CMakeFindFrameworks)
  18. MACRO(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
  19. IF(NOT ${QUIET})
  20. MESSAGE(${TYPE} "${MSG}")
  21. ENDIF(NOT ${QUIET})
  22. ENDMACRO(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
  23. # Detect the CERTI installation, http://www.cert.fr/CERTI
  24. IF ("$ENV{CERTI_HOME}" STRGREATER "")
  25. FILE(TO_CMAKE_PATH "$ENV{CERTI_HOME}" CERTI_HOME)
  26. RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "Using environment defined CERTI_HOME: ${CERTI_HOME}")
  27. ENDIF ("$ENV{CERTI_HOME}" STRGREATER "")
  28. SET(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM")
  29. # Detect the MAK Technologies RTI installation, http://www.mak.com/products/rti.php
  30. # note: the following list is ordered to find the most recent version first
  31. SET(RTI_POSSIBLE_DIRS
  32. ${CERTI_HOME}
  33. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 3.2 MSVC++ 8.0;Location]"
  34. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 3.2-win32-msvc++8.0;InstallLocation]"
  35. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 2.2;Location]"
  36. "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 2.2;InstallLocation]")
  37. SET(RTI_OLD_FIND_LIBRARY_PREFIXES ${CMAKE_FIND_LIBRARY_PREFIXES})
  38. # The MAK RTI has the "lib" prefix even on Windows.
  39. SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
  40. FIND_LIBRARY(RTI_LIBRARY
  41. NAMES RTI RTI-NG
  42. PATHS ${RTI_POSSIBLE_DIRS}
  43. PATH_SUFFIXES lib
  44. DOC "The RTI Library")
  45. IF (RTI_LIBRARY)
  46. SET(RTI_LIBRARIES ${RTI_LIBRARY})
  47. RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library found: ${RTI_LIBRARY}")
  48. ELSE (RTI_LIBRARY)
  49. RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library NOT found")
  50. ENDIF (RTI_LIBRARY)
  51. FIND_LIBRARY(RTI_FEDTIME_LIBRARY
  52. NAMES FedTime
  53. PATHS ${RTI_POSSIBLE_DIRS}
  54. PATH_SUFFIXES lib
  55. DOC "The FedTime Library")
  56. IF (RTI_FEDTIME_LIBRARY)
  57. SET(RTI_LIBRARIES ${RTI_LIBRARIES} ${RTI_FEDTIME_LIBRARY})
  58. RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI FedTime found: ${RTI_FEDTIME_LIBRARY}")
  59. ENDIF (RTI_FEDTIME_LIBRARY)
  60. FIND_PATH(RTI_INCLUDE_DIR
  61. NAMES RTI.hh
  62. PATHS ${RTI_POSSIBLE_DIRS}
  63. PATH_SUFFIXES include
  64. DOC "The RTI Include Files")
  65. IF (RTI_INCLUDE_DIR)
  66. RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers found: ${RTI_INCLUDE_DIR}")
  67. ELSE (RTI_INCLUDE_DIR)
  68. RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers NOT found")
  69. ENDIF (RTI_INCLUDE_DIR)
  70. # Set the modified system variables back to the original value.
  71. SET(CMAKE_FIND_LIBRARY_PREFIXES ${RTI_OLD_FIND_LIBRARY_PREFIXES})
  72. INCLUDE(FindPackageHandleStandardArgs)
  73. FIND_PACKAGE_HANDLE_STANDARD_ARGS(RTI DEFAULT_MSG
  74. RTI_LIBRARY RTI_INCLUDE_DIR)
  75. # $Id$