Changeset 2585 for code/branches/buildsystem2/cmake/FindOGRE.cmake
- Timestamp:
- Jan 12, 2009, 2:02:03 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/buildsystem2/cmake/FindOGRE.cmake
r2583 r2585 13 13 # Several changes and additions by Fabian 'x3n' Landau 14 14 # Lots of simplifications by Adrian Friedli 15 # Plugin checking by Reto Grieder 15 16 # > www.orxonox.net < 16 17 … … 25 26 NAMES OgreMain 26 27 PATHS $ENV{OGRE_HOME} /usr/local /usr 27 PATH_SUFFIXES lib bin/Release bin/release 28 PATH_SUFFIXES lib bin/Release bin/release Release release 28 29 ) 29 30 FIND_LIBRARY(OGRE_LIBRARY_DEBUG 30 31 NAMES OgreMain${LIBRARY_DEBUG_POSTFIX} 31 32 PATHS $ENV{OGRE_HOME} /usr/local /usr 32 PATH_SUFFIXES lib bin/Debug bin/debug 33 PATH_SUFFIXES lib bin/Debug bin/debug Debug debug 33 34 ) 34 35 … … 41 42 HandleLibraryTypes(OGRE) 42 43 44 ############################################### 45 # Also make sure we have the required plugins # 46 ############################################### 47 48 IF(WIN32) 49 # On Windows we need only *.dll, not *.lib. Especially the MSVC generator doesn't look for *.dll 50 SET(CMAKE_FIND_LIBRARY_SUFFIXES_STORED ${CMAKE_FIND_LIBRARY_SUFFIXES}) 51 SET(CMAKE_FIND_LIBRARY_SUFFIXES .dll) 52 ENDIF(WIN32) 53 SET(OGRE_RENDER_SYSTEM_FOUND FALSE) 54 FOREACH(_plugin ${OGRE_PLUGINS}) 55 FIND_LIBRARY(OGRE_PLUGIN_${_plugin}_OPTIMIZED 56 NAMES ${_plugin} 57 PATHS $ENV{OGRE_HOME} 58 PATH_SUFFIXES lib lib/OGRE bin bin/Release bin/release Release release 59 ) 60 FIND_LIBRARY(OGRE_PLUGIN_${_plugin}_DEBUG 61 NAMES ${_plugin}${LIBRARY_DEBUG_POSTFIX} 62 PATHS $ENV{OGRE_HOME} /usr/local /usr 63 PATH_SUFFIXES lib lib/OGRE bin bin/Debug bin/debug Debug debug 64 ) 65 # We only need at least one render system. Check at the end 66 IF(NOT ${_plugin} MATCHES "RenderSystem") 67 SET(OGRE_PLUGIN_${_plugin}_FIND_REQUIRED TRUE) 68 ELSE(NOT ${_plugin} MATCHES "RenderSystem") 69 SET(OGRE_PLUGIN_${_plugin}_FIND_REQUIRED FALSE) 70 SET(OGRE_RENDER_SYSTEM_FOUND TRUE) 71 ENDIF(NOT ${_plugin} MATCHES "RenderSystem") 72 FIND_PACKAGE_HANDLE_STANDARD_ARGS(OGRE_PLUGIN_${_plugin} 73 "Could not find OGRE plugin named ${_plugin}" 74 OGRE_PLUGIN_${_plugin}_OPTIMIZED 75 ) 76 77 # If debug version is not available, release will do as well 78 IF(NOT OGRE_PLUGIN_${_plugin}_DEBUG) 79 SET(OGRE_PLUGIN_${_plugin}_DEBUG ${OGRE_PLUGIN_${_plugin}_OPTIMIZED} CACHE STRING "") 80 ENDIF(NOT OGRE_PLUGIN_${_plugin}_DEBUG) 81 MARK_AS_ADVANCED(OGRE_PLUGIN_${_plugin}_OPTIMIZED OGRE_PLUGIN_${_plugin}_DEBUG) 82 83 ### Set variables to configure orxonox.ini correctly afterwards in bin/ ### 84 # Check and set the folders 85 GET_FILENAME_COMPONENT(_release_folder ${OGRE_PLUGIN_${_plugin}_OPTIMIZED} PATH) 86 IF(OGRE_PLUGINS_FOLDER_RELEASE AND NOT OGRE_PLUGINS_FOLDER_RELEASE STREQUAL _release_folder) 87 MESSAGE(FATAL_ERROR "Ogre release plugins have to be in the same folder!") 88 ENDIF(OGRE_PLUGINS_FOLDER_RELEASE AND NOT OGRE_PLUGINS_FOLDER_RELEASE STREQUAL _release_folder) 89 SET(OGRE_PLUGINS_FOLDER_RELEASE ${_release_folder}) 90 GET_FILENAME_COMPONENT(_debug_folder ${OGRE_PLUGIN_${_plugin}_DEBUG} PATH) 91 IF(OGRE_PLUGINS_FOLDER_DEBUG AND NOT OGRE_PLUGINS_FOLDER_DEBUG STREQUAL _debug_folder) 92 MESSAGE(FATAL_ERROR "Ogre debug plugins have to be in the same folder!") 93 ENDIF(OGRE_PLUGINS_FOLDER_DEBUG AND NOT OGRE_PLUGINS_FOLDER_DEBUG STREQUAL _debug_folder) 94 SET(OGRE_PLUGINS_FOLDER_DEBUG ${_debug_folder}) 95 96 # Create a list with the plugins for relase and debug configurations 97 LIST(APPEND OGRE_PLUGINS_RELEASE ${_plugin}) 98 IF(OGRE_PLUGIN_${_plugin}_DEBUG) 99 LIST(APPEND OGRE_PLUGINS_DEBUG ${_plugin}${LIBRARY_DEBUG_POSTFIX}) 100 ELSE(OGRE_PLUGIN_${_plugin}_DEBUG) 101 LIST(APPEND OGRE_PLUGINS_DEBUG ${_plugin}) 102 ENDIF(OGRE_PLUGIN_${_plugin}_DEBUG) 103 ENDFOREACH(_plugin) 104 IF(NOT OGRE_RENDER_SYSTEM_FOUND) 105 MESSAGE(FATAL_ERROR "Could not find an OGRE render system plugin") 106 ENDIF(NOT OGRE_RENDER_SYSTEM_FOUND) 107 IF(WIN32) 108 # Restore previous settings (see above before FOREACH) 109 SET(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_STORED}) 110 ENDIF(WIN32) 111 112 # List has to be comma separated for orxonox.ini 113 STRING(REPLACE ";" ", " OGRE_PLUGINS_RELEASE "${OGRE_PLUGINS_RELEASE}") 114 STRING(REPLACE ";" ", " OGRE_PLUGINS_DEBUG "${OGRE_PLUGINS_DEBUG}") 115 116 43 117 MARK_AS_ADVANCED( 44 118 OGRE_LIBRARY
Note: See TracChangeset
for help on using the changeset viewer.