Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 28, 2011, 7:15:14 AM (13 years ago)
Author:
rgrieder
Message:

Merged kicklib2 branch back to trunk (includes former branches ois_update, mac_osx and kicklib).

Notes for updating

Linux:
You don't need an extra package for CEGUILua and Tolua, it's already shipped with CEGUI.
However you do need to make sure that the OgreRenderer is installed too with CEGUI 0.7 (may be a separate package).
Also, Orxonox now recognises if you install the CgProgramManager (a separate package available on newer Ubuntu on Debian systems).

Windows:
Download the new dependency packages versioned 6.0 and use these. If you have problems with that or if you don't like the in game console problem mentioned below, you can download the new 4.3 version of the packages (only available for Visual Studio 2005/2008).

Key new features:

  • *Support for Mac OS X*
  • Visual Studio 2010 support
  • Bullet library update to 2.77
  • OIS library update to 1.3
  • Support for CEGUI 0.7 —> Support for Arch Linux and even SuSE
  • Improved install target
  • Compiles now with GCC 4.6
  • Ogre Cg Shader plugin activated for Linux if available
  • And of course lots of bug fixes

There are also some regressions:

  • No support for CEGUI 0.5, Ogre 1.4 and boost 1.35 - 1.39 any more
  • In game console is not working in main menu for CEGUI 0.7
  • Tolua (just the C lib, not the application) and CEGUILua libraries are no longer in our repository. —> You will need to get these as well when compiling Orxonox
  • And of course lots of new bugs we don't yet know about
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/cmake/tools/FindCEGUI.cmake

    r7163 r8351  
    44#  CEGUI_INCLUDE_DIR
    55#  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++.
    68#  CEGUI_FOUND, If false, do not try to use CEGUI
    79#  CEGUI_VERSION, the version as string "x.y.z"
    8 #  CEGUILUA_LIBRARY, Script module library
    9 #  CEGUILUA_USE_INTERNAL_LIBRARY, True if CEGUILUA_LIBRARY was not defined here
    1010#
    1111# Input:
    1212#  ENV{CEGUIDIR}, CEGUI path, optional
    13 #  FIND CEGUILUA_INTERNAL_SUPPORT, List of all CEGUILua version supported
    14 #                                  in the source repository
    15 #  CEGUILUA_USE_EXTERNAL_LIBRARY, Force finding of CEGUILua
    1613#
    1714# Created by Matt Williams to find OGRE libraries
     
    2926#                 > www.orxonox.net <
    3027
     28INCLUDE(CompareVersionStrings)
    3129INCLUDE(DetermineVersion)
    3230INCLUDE(FindPackageHandleAdvancedArgs)
    3331INCLUDE(HandleLibraryTypes)
    3432
     33# Find CEGUI headers
    3534FIND_PATH(CEGUI_INCLUDE_DIR CEGUI.h
    3635  PATHS $ENV{CEGUIDIR}
    37   PATH_SUFFIXES include include/CEGUI CEGUI.framework/Headers
     36  PATH_SUFFIXES include include/CEGUI
    3837)
     38
     39# Inspect CEGUIVersion.h for the version number
     40DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h)
     41
     42# Find CEGUI library
    3943FIND_LIBRARY(CEGUI_LIBRARY_OPTIMIZED
    4044  NAMES CEGUIBase CEGUI
     
    5054)
    5155
    52 # Inspect CEGUIVersion.h for the version number
    53 DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h)
     56# Find CEGUILua headers
     57FIND_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
     65FIND_LIBRARY(CEGUILUA_LIBRARY_OPTIMIZED
     66  NAMES CEGUILua CEGUILuaScriptModule
     67  PATHS $ENV{CEGUIDIR} $ENV{CEGUILUADIR}
     68  PATH_SUFFIXES lib bin
     69)
     70FIND_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.
     79FIND_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
     89FIND_LIBRARY(CEGUI_TOLUA_LIBRARY_OPTIMIZED
     90  NAMES CEGUItoluapp tolua++ ceguitolua++
     91  PATHS $ENV{CEGUIDIR} ${CEGUITOLUADIR}
     92  PATH_SUFFIXES lib bin
     93)
     94FIND_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
     101COMPARE_VERSION_STRINGS("${CEGUI_VERSION}" "0.7" _version_compare TRUE)
     102IF(_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  )
     126ELSE()
     127  SET(CEGUI_OLD_VERSION TRUE)
     128  SET(CEGUI_OGRE_RENDERER_BUILD_REQUIRED TRUE)
     129ENDIF()
    54130
    55131# Handle the REQUIRED argument and set CEGUI_FOUND
    56132# Also checks the version requirements if given
    57133FIND_PACKAGE_HANDLE_ADVANCED_ARGS(CEGUI DEFAULT_MSG "${CEGUI_VERSION}"
     134  CEGUI_INCLUDE_DIR
    58135  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}
    60141)
    61142
    62143# Collect optimized and debug libraries
    63144HANDLE_LIBRARY_TYPES(CEGUI)
     145HANDLE_LIBRARY_TYPES(CEGUILUA)
     146HANDLE_LIBRARY_TYPES(CEGUI_TOLUA)
     147IF(NOT CEGUI_OGRE_RENDERER_BUILD_REQUIRED)
     148  HANDLE_LIBRARY_TYPES(CEGUI_OGRE_RENDERER)
     149ENDIF()
    64150
    65151MARK_AS_ADVANCED(
     
    67153  CEGUI_LIBRARY_OPTIMIZED
    68154  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
    69164)
    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.6
    75   FIND_LIBRARY(CEGUILUA_LIBRARY_OPTIMIZED
    76     NAMES CEGUILua
    77     PATHS $ENV{CEGUIDIR}
    78     PATH_SUFFIXES lib bin
    79   )
    80   FIND_LIBRARY(CEGUILUA_LIBRARY_DEBUG
    81     NAMES CEGUILuad CEGUILua_d
    82     PATHS $ENV{CEGUIDIR}
    83     PATH_SUFFIXES lib bin
    84   )
    85 
    86   SET(CEGUILua_FIND_REQUIRED ${CEGUI_FIND_REQUIRED})
    87   # Handle the REQUIRED argument and set CEGUILUA_FOUND
    88   FIND_PACKAGE_HANDLE_STANDARD_ARGS(CEGUILua DEFAULT_MSG
    89     CEGUILUA_LIBRARY_OPTIMIZED
    90   )
    91 
    92   # Collect optimized and debug libraries
    93   HANDLE_LIBRARY_TYPES(CEGUILUA)
    94 
    95   MARK_AS_ADVANCED(
    96     CEGUILUA_LIBRARY_OPTIMIZED
    97     CEGUILUA_LIBRARY_DEBUG
    98   )
    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.