Changeset 8351 for code/trunk/cmake/tools/FindCEGUI.cmake
- Timestamp:
- Apr 28, 2011, 7:15:14 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk/cmake/tools/FindCEGUI.cmake
r7163 r8351 4 4 # CEGUI_INCLUDE_DIR 5 5 # CEGUI_LIBRARY, the library to link against to use CEGUI. 6 # CEGUILUA_LIBRARY, the library to link against to use the CEGUI script module. 7 # CEGUI_TOLUA_LIBRARY, the library to link against to use Tolua++. 6 8 # CEGUI_FOUND, If false, do not try to use CEGUI 7 9 # CEGUI_VERSION, the version as string "x.y.z" 8 # CEGUILUA_LIBRARY, Script module library9 # CEGUILUA_USE_INTERNAL_LIBRARY, True if CEGUILUA_LIBRARY was not defined here10 10 # 11 11 # Input: 12 12 # ENV{CEGUIDIR}, CEGUI path, optional 13 # FIND CEGUILUA_INTERNAL_SUPPORT, List of all CEGUILua version supported14 # in the source repository15 # CEGUILUA_USE_EXTERNAL_LIBRARY, Force finding of CEGUILua16 13 # 17 14 # Created by Matt Williams to find OGRE libraries … … 29 26 # > www.orxonox.net < 30 27 28 INCLUDE(CompareVersionStrings) 31 29 INCLUDE(DetermineVersion) 32 30 INCLUDE(FindPackageHandleAdvancedArgs) 33 31 INCLUDE(HandleLibraryTypes) 34 32 33 # Find CEGUI headers 35 34 FIND_PATH(CEGUI_INCLUDE_DIR CEGUI.h 36 35 PATHS $ENV{CEGUIDIR} 37 PATH_SUFFIXES include include/CEGUI CEGUI.framework/Headers36 PATH_SUFFIXES include include/CEGUI 38 37 ) 38 39 # Inspect CEGUIVersion.h for the version number 40 DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h) 41 42 # Find CEGUI library 39 43 FIND_LIBRARY(CEGUI_LIBRARY_OPTIMIZED 40 44 NAMES CEGUIBase CEGUI … … 50 54 ) 51 55 52 # Inspect CEGUIVersion.h for the version number 53 DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h) 56 # Find CEGUILua headers 57 FIND_PATH(CEGUILUA_INCLUDE_DIR CEGUILua.h 58 PATHS 59 $ENV{CEGUIDIR} 60 $ENV{CEGUILUADIR} 61 ${CEGUI_INCLUDE_DIR}/ScriptingModules/LuaScriptModule 62 PATH_SUFFIXES include include/CEGUI 63 ) 64 # Find CEGUILua libraries 65 FIND_LIBRARY(CEGUILUA_LIBRARY_OPTIMIZED 66 NAMES CEGUILua CEGUILuaScriptModule 67 PATHS $ENV{CEGUIDIR} $ENV{CEGUILUADIR} 68 PATH_SUFFIXES lib bin 69 ) 70 FIND_LIBRARY(CEGUILUA_LIBRARY_DEBUG 71 NAMES CEGUILuad CEGUILua_d CEGUILuaScriptModuled CEGUILuaScriptModule_d 72 PATHS $ENV{CEGUIDIR} $ENV{CEGUILUADIR} 73 PATH_SUFFIXES lib bin 74 ) 75 76 # Find CEGUI Tolua++ include file 77 # We only need to add this path since we use tolua++ like a normal 78 # dependency but it is shipped with CEGUILua. 79 FIND_PATH(CEGUI_TOLUA_INCLUDE_DIR tolua++.h 80 PATHS 81 ${CEGUILUA_INCLUDE_DIR} 82 # For newer CEGUI versions >= 0.7 83 ${CEGUILUA_INCLUDE_DIR}/support/tolua++ 84 # For Mac OS X, tolua++ is a separate framework in the dependency package 85 ${DEP_FRAMEWORK_DIR} 86 NO_DEFAULT_PATH # Don't attempt to find tolua++ installed on the system 87 ) 88 # Find CEGUI Tolua++ libraries 89 FIND_LIBRARY(CEGUI_TOLUA_LIBRARY_OPTIMIZED 90 NAMES CEGUItoluapp tolua++ ceguitolua++ 91 PATHS $ENV{CEGUIDIR} ${CEGUITOLUADIR} 92 PATH_SUFFIXES lib bin 93 ) 94 FIND_LIBRARY(CEGUI_TOLUA_LIBRARY_DEBUG 95 NAMES CEGUItoluappd CEGUItoluapp_d tolua++d tolua++_d 96 PATHS $ENV{CEGUIDIR} ${CEGUITOLUADIR} 97 PATH_SUFFIXES lib bin 98 ) 99 100 # Newer versions of CEGUI have the renderer for OGRE shipped with them 101 COMPARE_VERSION_STRINGS("${CEGUI_VERSION}" "0.7" _version_compare TRUE) 102 IF(_version_compare GREATER -1) 103 # Find CEGUI OGRE Renderer headers 104 FIND_PATH(CEGUI_OGRE_RENDERER_INCLUDE_DIR CEGUIOgreRenderer.h 105 PATHS 106 $ENV{CEGUIDIR} 107 $ENV{CEGUIOGRERENDERERDIR} 108 ${CEGUI_INCLUDE_DIR}/RendererModules/Ogre 109 PATH_SUFFIXES include include/CEGUI 110 ) 111 # Find CEGUI OGRE Renderer libraries 112 FIND_LIBRARY(CEGUI_OGRE_RENDERER_LIBRARY_OPTIMIZED 113 NAMES CEGUIOgreRenderer 114 PATHS $ENV{CEGUIDIR} $ENV{CEGUIOGRERENDERERDIR} 115 PATH_SUFFIXES lib bin 116 ) 117 FIND_LIBRARY(CEGUI_OGRE_RENDERER_LIBRARY_DEBUG 118 NAMES CEGUIOgreRendererd CEGUIOgreRenderer_d 119 PATHS $ENV{CEGUIDIR} $ENV{CEGUIOGRERENDERERDIR} 120 PATH_SUFFIXES lib bin 121 ) 122 SET(CEGUI_OGRE_RENDERER_REQUIRED_VARIABLES 123 CEGUI_OGRE_RENDERER_INCLUDE_DIR 124 CEGUI_OGRE_RENDERER_LIBRARY_OPTIMIZED 125 ) 126 ELSE() 127 SET(CEGUI_OLD_VERSION TRUE) 128 SET(CEGUI_OGRE_RENDERER_BUILD_REQUIRED TRUE) 129 ENDIF() 54 130 55 131 # Handle the REQUIRED argument and set CEGUI_FOUND 56 132 # Also checks the version requirements if given 57 133 FIND_PACKAGE_HANDLE_ADVANCED_ARGS(CEGUI DEFAULT_MSG "${CEGUI_VERSION}" 134 CEGUI_INCLUDE_DIR 58 135 CEGUI_LIBRARY_OPTIMIZED 59 CEGUI_INCLUDE_DIR 136 CEGUILUA_INCLUDE_DIR 137 CEGUILUA_LIBRARY_OPTIMIZED 138 CEGUI_TOLUA_INCLUDE_DIR 139 CEGUI_TOLUA_LIBRARY_OPTIMIZED 140 ${CEGUI_OGRE_RENDERER_REQUIRED_VARIABLES} 60 141 ) 61 142 62 143 # Collect optimized and debug libraries 63 144 HANDLE_LIBRARY_TYPES(CEGUI) 145 HANDLE_LIBRARY_TYPES(CEGUILUA) 146 HANDLE_LIBRARY_TYPES(CEGUI_TOLUA) 147 IF(NOT CEGUI_OGRE_RENDERER_BUILD_REQUIRED) 148 HANDLE_LIBRARY_TYPES(CEGUI_OGRE_RENDERER) 149 ENDIF() 64 150 65 151 MARK_AS_ADVANCED( … … 67 153 CEGUI_LIBRARY_OPTIMIZED 68 154 CEGUI_LIBRARY_DEBUG 155 CEGUILUA_INCLUDE_DIR 156 CEGUILUA_LIBRARY_OPTIMIZED 157 CEGUILUA_LIBRARY_DEBUG 158 CEGUI_TOLUA_INCLUDE_DIR 159 CEGUI_TOLUA_LIBRARY_OPTIMIZED 160 CEGUI_TOLUA_LIBRARY_DEBUG 161 CEGUI_OGRE_RENDERER_INCLUDE_DIR 162 CEGUI_OGRE_RENDERER_LIBRARY_OPTIMIZED 163 CEGUI_OGRE_RENDERER_LIBRARY_DEBUG 69 164 ) 70 71 LIST(FIND CEGUILUA_INTERNAL_SUPPORT "${CEGUI_VERSION}" _find_result)72 IF(CEGUILUA_USE_EXTERNAL_LIBRARY OR _find_result EQUAL -1)73 # Also try to find the CEGUILua libraries.74 # There would already be libraries in src/ for versions 0.5 and 0.675 FIND_LIBRARY(CEGUILUA_LIBRARY_OPTIMIZED76 NAMES CEGUILua77 PATHS $ENV{CEGUIDIR}78 PATH_SUFFIXES lib bin79 )80 FIND_LIBRARY(CEGUILUA_LIBRARY_DEBUG81 NAMES CEGUILuad CEGUILua_d82 PATHS $ENV{CEGUIDIR}83 PATH_SUFFIXES lib bin84 )85 86 SET(CEGUILua_FIND_REQUIRED ${CEGUI_FIND_REQUIRED})87 # Handle the REQUIRED argument and set CEGUILUA_FOUND88 FIND_PACKAGE_HANDLE_STANDARD_ARGS(CEGUILua DEFAULT_MSG89 CEGUILUA_LIBRARY_OPTIMIZED90 )91 92 # Collect optimized and debug libraries93 HANDLE_LIBRARY_TYPES(CEGUILUA)94 95 MARK_AS_ADVANCED(96 CEGUILUA_LIBRARY_OPTIMIZED97 CEGUILUA_LIBRARY_DEBUG98 )99 100 ELSE(CEGUILUA_USE_EXTERNAL_LIBRARY OR _find_result EQUAL -1)101 SET(CEGUILUA_USE_INTERNAL_LIBRARY TRUE)102 ENDIF(CEGUILUA_USE_EXTERNAL_LIBRARY OR _find_result EQUAL -1)103
Note: See TracChangeset
for help on using the changeset viewer.