Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 14, 2009, 10:53:45 PM (15 years ago)
Author:
rgrieder
Message:

Merged buildsystem2 to buildsystem3.

Note: Bare merge, just resolved conflicts. To testing, no nothing.

Location:
code/branches/buildsystem3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/buildsystem3

  • code/branches/buildsystem3/cmake/FindCEGUI.cmake

    r1872 r2664  
    33# This module defines
    44#  CEGUI_INCLUDE_DIR
    5 #  CEGUI_LIBRARIES, the libraries to link against to use CEGUI.
    6 #  CEGUI_LIB_DIR, the location of the libraries
     5#  CEGUI_LIBRARY, the library to link against to use CEGUI.
    76#  CEGUI_FOUND, If false, do not try to use CEGUI
     7#  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
     10#
     11# Input:
     12#  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
    816#
    917# Created by Matt Williams to find OGRE libraries
     
    1725#
    1826# Several changes and additions by Fabian 'x3n' Landau
     27# Lots of simplifications by Adrian Friedli and Reto Grieder
     28# Version checking and CEGUILua finding by Reto Grieder
    1929#                 > www.orxonox.net <
    2030
    21 IF (CEGUI_LIBRARIES AND CEGUI_INCLUDE_DIR AND CEGUI_LIB_DIR)# AND CEGUI_SCRIPT_LIBRARIES)
    22     SET(CEGUI_FIND_QUIETLY TRUE) # Already in cache, be silent
    23 ENDIF (CEGUI_LIBRARIES AND CEGUI_INCLUDE_DIR AND CEGUI_LIB_DIR)# AND CEGUI_SCRIPT_LIBRARIES)
     31INCLUDE(DetermineVersion)
     32INCLUDE(FindPackageHandleAdvancedArgs)
     33INCLUDE(HandleLibraryTypes)
    2434
    25 IF (WIN32) #Windows
    26     FIND_PATH(CEGUI_INCLUDE_DIR CEGUI.h
    27         ../libs/cegui-0.6.1/include
    28         ${DEPENDENCY_DIR}/cegui-0.6.1/include
    29     )
     35FIND_PATH(CEGUI_INCLUDE_DIR CEGUI.h
     36  PATHS $ENV{CEGUIDIR}
     37  PATH_SUFFIXES include include/CEGUI CEGUI.framework/Headers
     38)
     39FIND_LIBRARY(CEGUI_LIBRARY_OPTIMIZED
     40  NAMES CEGUIBase CEGUI
     41  PATHS $ENV{CEGUIDIR}
     42  PATH_SUFFIXES lib bin
     43)
     44FIND_LIBRARY(CEGUI_LIBRARY_DEBUG
     45  NAMES
     46    CEGUIBased CEGUIBase_d CEGUIBaseD CEGUIBase_D
     47    CEGUId CEGUI_d CEGUID CEGUI_D
     48  PATHS $ENV{CEGUIDIR}
     49  PATH_SUFFIXES lib bin
     50)
    3051
    31     SET(CEGUI_LIBRARIES debug CEGUIBase_d optimized CEGUIBase)
    32     FIND_LIBRARY(CEGUI_LIBDIR NAMES ${CEGUI_LIBRARIES} PATHS
    33         ../libs/cegui-0.6.1/bin
    34         ${DEPENDENCY_DIR}/cegui-0.6.1/lib
    35     )
     52# Inspect CEGUIVersion.h for the version number
     53DETERMINE_VERSION(CEGUI ${CEGUI_INCLUDE_DIR}/CEGUIVersion.h)
    3654
    37     # Strip the filename from the path
    38     IF (CEGUI_LIBDIR)
    39         GET_FILENAME_COMPONENT(CEGUI_LIBDIR ${CEGUI_LIBDIR} PATH)
    40         SET (CEGUI_LIB_DIR ${CEGUI_LIBDIR} CACHE FILEPATH "")
    41     ENDIF (CEGUI_LIBDIR)
     55# Handle the REQUIRED argument and set CEGUI_FOUND
     56# Also checks the version requirements if given
     57FIND_PACKAGE_HANDLE_ADVANCED_ARGS(CEGUI DEFAULT_MSG "${CEGUI_VERSION}"
     58  CEGUI_LIBRARY_OPTIMIZED
     59  CEGUI_INCLUDE_DIR
     60)
    4261
    43 #    IF (NOT CEGUI_SCRIPT_LIBDIR)
    44 #        # Search Lua script module
    45 #        SET(CEGUI_SCRIPT_LIBRARIES "CEGUILuaScriptModule")
    46 #        FIND_LIBRARY(CEGUI_SCRIPT_LIBDIR NAMES ${CEGUI_SCRIPT_LIBRARIES} PATHS
    47 #            ../libs/cegui-0.6.1/bin
    48 #        )
    49 #       IF (NOT CEGUI_SCRIPT_LIBDIR)
    50 #            SET(CEGUI_SCRIPT_LIBRARIES "CEGUILua")
    51 #            FIND_LIBRARY(CEGUI_SCRIPT_LIBDIR NAMES ${CEGUI_SCRIPT_LIBRARIES} PATHS
    52 #                ../libs/cegui-0.6.1/bin
    53 #            )
    54 #            IF (NOT CEGUI_SCRIPT_LIBDIR)
    55 #                SET(CEGUI_SCRIPT_LIBRARIES)
    56 #            ENDIF (NOT CEGUI_SCRIPT_LIBDIR)
    57 #        ENDIF (NOT CEGUI_SCRIPT_LIBDIR)
    58 #    ENDIF (NOT CEGUI_SCRIPT_LIBDIR)
     62# Collect optimized and debug libraries
     63HANDLE_LIBRARY_TYPES(CEGUI)
    5964
    60 #    # Strip the filename from the path
    61 #    IF (CEGUI_SCRIPT_LIBDIR)
    62 #        GET_FILENAME_COMPONENT(CEGUI_SCRIPT_LIBDIR ${CEGUI_SCRIPT_LIBDIR} PATH)
    63 #        SET (CEGUI_SCRIPT_LIB_DIR ${CEGUI_SCRIPT_LIBDIR} CACHE FILEPATH "")
    64 #    ENDIF (CEGUI_SCRIPT_LIBDIR)
     65MARK_AS_ADVANCED(
     66  CEGUI_INCLUDE_DIR
     67  CEGUI_LIBRARY_OPTIMIZED
     68  CEGUI_LIBRARY_DEBUG
     69)
    6570
    66 ELSE (WIN32) #Unix
    67     FIND_PACKAGE(PkgConfig)
    68     PKG_SEARCH_MODULE(CEGUI CEGUI /usr/pack/cegui-0.5.0-sd/i686-debian-linux3.1/lib/pkgconfig/CEGUI.pc) # tardis specific hack
    69     SET(CEGUI_INCLUDE_DIR ${CEGUI_INCLUDE_DIRS})
    70     SET(CEGUI_LIB_DIR ${CEGUI_LIBDIR})
    71     SET(CEGUI_LIBRARIES ${CEGUI_LIBRARIES} CACHE STRING "")
    72 #    SET(CEGUI_SCRIPT_LIBRARIES "CEGUILuaScriptModule")
    73 #    SET(CEGUI_SCRIPT_LIB_DIR)
    74 ENDIF (WIN32)
     71LIST(FIND CEGUILUA_INTERNAL_SUPPORT "${CEGUI_VERSION}" _find_result)
     72IF(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  )
    7585
    76 IF (CEGUI_INCLUDE_DIR AND CEGUI_LIBRARIES AND CEGUI_LIB_DIR)# AND CEGUI_SCRIPT_LIBRARIES)
    77     SET(CEGUI_FOUND TRUE)
     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  )
    7891
    79     #Do some preparation
    80     SEPARATE_ARGUMENTS(CEGUI_INCLUDE_DIR)
    81     SEPARATE_ARGUMENTS(CEGUI_LIBRARIES)
     92  # Collect optimized and debug libraries
     93  HANDLE_LIBRARY_TYPES(CEGUILUA)
    8294
    83     SET(CEGUI_INCLUDE_DIR ${CEGUI_INCLUDE_DIR} CACHE PATH "")
    84     SET(CEGUI_LIBRARIES ${CEGUI_LIBRARIES} CACHE STRING "")
    85     SET(CEGUI_LIB_DIR ${CEGUI_LIB_DIR} CACHE PATH "")
    86 #    SET(CEGUI_SCRIPT_LIBRARIES ${CEGUI_SCRIPT_LIBRARIES} CACHE PATH "")
    87 ENDIF (CEGUI_INCLUDE_DIR AND CEGUI_LIBRARIES AND CEGUI_LIB_DIR)# AND CEGUI_SCRIPT_LIBRARIES)
     95  MARK_AS_ADVANCED(
     96    CEGUILUA_LIBRARY_OPTIMIZED
     97    CEGUILUA_LIBRARY_DEBUG
     98  )
    8899
    89 IF (CEGUI_FOUND)
    90     IF (NOT CEGUI_FIND_QUIETLY)
    91         MESSAGE(STATUS "CEGUI was found.")
    92         IF (VERBOSE_FIND)
    93             MESSAGE (STATUS "  include path: ${CEGUI_INCLUDE_DIR}")
    94             MESSAGE (STATUS "  library path: ${CEGUI_LIB_DIR}")
    95             MESSAGE (STATUS "  libraries:    ${CEGUI_LIBRARIES}")
    96 #            MESSAGE (STATUS "           :    ${CEGUI_SCRIPT_LIBRARIES}")
    97         ENDIF (VERBOSE_FIND)
    98     ENDIF (NOT CEGUI_FIND_QUIETLY)
    99 ELSE (CEGUI_FOUND)
    100     IF (NOT CEGUI_INCLUDE_DIR)
    101         MESSAGE(SEND_ERROR "CEGUI include path was not found.")
    102     ENDIF (NOT CEGUI_INCLUDE_DIR)
    103     IF (NOT CEGUI_LIB_DIR)
    104         MESSAGE(SEND_ERROR "CEGUI library was not found.")
    105     ENDIF (NOT CEGUI_LIB_DIR)
    106     IF (NOT CEGUI_LIBRARIES)
    107         MESSAGE(SEND_ERROR "CEGUI libraries not known.")
    108     ENDIF (NOT CEGUI_LIBRARIES)
    109 #    IF (NOT CEGUI_SCRIPT_LIBRARIES)
    110 #        MESSAGE(SEND_ERROR "CEGUI Lua script module was not found.")
    111 #    ENDIF (NOT CEGUI_SCRIPT_LIBRARIES)
    112 ENDIF (CEGUI_FOUND)
     100ELSE(CEGUILUA_USE_EXTERNAL_LIBRARY OR _find_result EQUAL -1)
     101  SET(CEGUILUA_USE_INTERNAL_LIBRARY TRUE)
     102ENDIF(CEGUILUA_USE_EXTERNAL_LIBRARY OR _find_result EQUAL -1)
    113103
Note: See TracChangeset for help on using the changeset viewer.