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/src/CMakeLists.txt

    r8079 r8351  
    3737ADD_COMPILER_FLAGS("-DPOCO_NO_AUTOMATIC_LIBS")
    3838
    39 # If no defines are specified, these libs get linked statically
    40 ADD_COMPILER_FLAGS("-DBOOST_ALL_DYN_LINK" WIN32 LINK_BOOST_DYNAMIC)
    41 #ADD_COMPILER_FLAGS("-DENET_DLL"           WIN32 LINK_ENET_DYNAMIC)
    42 ADD_COMPILER_FLAGS("-DLUA_BUILD_AS_DLL"   WIN32 LINK_LUA_DYNAMIC)
    43 ADD_COMPILER_FLAGS("-DZLIB_DLL"           WIN32 LINK_ZLIB_DYNAMIC)
    44 # If no defines are specified, these libs get linked dynamically
    45 ADD_COMPILER_FLAGS("-DCEGUI_STATIC"       WIN32 NOT LINK_CEGUI_DYNAMIC)
    46 ADD_COMPILER_FLAGS("-DOGRE_STATIC_LIB"    WIN32 NOT LINK_OGRE_DYNAMIC)
    47 ADD_COMPILER_FLAGS("-DSTATIC_BUILD"       WIN32 NOT LINK_TCL_DYNAMIC)
     39IF(WIN32)
     40  # If no defines are specified, these libs get linked statically
     41  ADD_COMPILER_FLAGS("-DBOOST_ALL_DYN_LINK" LINK_BOOST_DYNAMIC)
     42  #ADD_COMPILER_FLAGS("-DENET_DLL"           LINK_ENET_DYNAMIC)
     43  ADD_COMPILER_FLAGS("-DLUA_BUILD_AS_DLL"   LINK_LUA5.1_DYNAMIC)
     44  # If no defines are specified, these libs get linked dynamically
     45  ADD_COMPILER_FLAGS("-DCEGUI_STATIC -DTOLUA_STATIC" NOT LINK_CEGUI_DYNAMIC)
     46  ADD_COMPILER_FLAGS("-DOGRE_STATIC_LIB"    NOT LINK_OGRE_DYNAMIC)
     47  ADD_COMPILER_FLAGS("-DSTATIC_BUILD"       NOT LINK_TCL_DYNAMIC)
     48
     49  # Target Windows XP as minimum Windows version
     50  # And try to catch all the different macro defines for that...
     51  ADD_COMPILER_FLAGS("-D_WIN32_WINNT=0x0501")
     52  ADD_COMPILER_FLAGS("-D_WIN32_WINDOWS=0x0501")
     53  ADD_COMPILER_FLAGS("-DWINVER=0x0501")
     54  ADD_COMPILER_FLAGS("-DNTDDI_VERSION=0x05010000")
     55ENDIF(WIN32)
    4856
    4957######### Library Behaviour (external) ##########
     
    6169ENDIF()
    6270# If no defines are specified, these libs get linked dynamically
    63 ADD_COMPILER_FLAGS("-DCEGUILUA_STATIC"             WIN32 NOT _external_shared_link)
    6471ADD_COMPILER_FLAGS("-DENET_DLL"                    WIN32     _external_shared_link)
    6572ADD_COMPILER_FLAGS("-DOGRE_GUIRENDERER_STATIC_LIB" WIN32 NOT _external_shared_link)
    6673ADD_COMPILER_FLAGS("-DOIS_STATIC_LIB"              WIN32 NOT _external_shared_link)
    67 ADD_COMPILER_FLAGS("-DTOLUA_STATIC_BUILD"          WIN32 NOT _external_shared_link)
    6874
    6975############## Include Directories ##############
     
    7177# Set the search paths for include files
    7278INCLUDE_DIRECTORIES(
     79  # OrxonoxConfig.h
     80  ${CMAKE_CURRENT_BINARY_DIR}
     81
     82  # All includes in "externals" should be prefixed with the path
     83  # relative to "external" to avoid conflicts
     84  ${CMAKE_CURRENT_SOURCE_DIR}/external
     85  # Include directories needed even if only included by Orxonox
     86  ${CMAKE_CURRENT_SOURCE_DIR}/external/bullet
     87  ${CMAKE_CURRENT_SOURCE_DIR}/external/ois
     88
    7389  # External
    7490  ${OGRE_INCLUDE_DIR}
    7591  ${CEGUI_INCLUDE_DIR}
     92  ${CEGUI_TOLUA_INCLUDE_DIR}
    7693  #${ENET_INCLUDE_DIR}
    7794  ${Boost_INCLUDE_DIRS}
     
    8198  ${VORBIS_INCLUDE_DIR}
    8299  ${OGG_INCLUDE_DIR}
    83   ${LUA_INCLUDE_DIR}
     100  ${LUA5.1_INCLUDE_DIR}
    84101  ${TCL_INCLUDE_PATH}
    85102  ${DIRECTX_INCLUDE_DIR}
    86103  ${ZLIB_INCLUDE_DIR}
    87 
    88   # All includes in "externals" should be prefixed with the path
    89   # relative to "external" to avoid conflicts
    90   ${CMAKE_CURRENT_SOURCE_DIR}/external
    91   # Include directories needed even if only included by Orxonox
    92   ${CMAKE_CURRENT_SOURCE_DIR}/external/bullet
    93   ${CMAKE_CURRENT_SOURCE_DIR}/external/ois
    94 
    95   # OrxonoxConfig.h
    96   ${CMAKE_CURRENT_BINARY_DIR}
    97104)
    98105
    99 IF(CEGUILUA_USE_INTERNAL_LIBRARY)
    100   INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/external/ceguilua/ceguilua-${CEGUI_VERSION})
     106IF(CEGUI_OLD_VERSION)
     107  INCLUDE_DIRECTORIES(${CEGUILUA_INCLUDE_DIR})
    101108ENDIF()
    102109
    103110IF (DBGHELP_FOUND)
    104111  INCLUDE_DIRECTORIES(${DBGHELP_INCLUDE_DIR})
     112ENDIF()
     113
     114############## CEGUI OGRE Renderer ##############
     115
     116IF(CEGUI_OGRE_RENDERER_BUILD_REQUIRED)
     117  SET(CEGUI_OGRE_RENDERER_LIBRARY ogreceguirenderer_orxonox)
    105118ENDIF()
    106119
     
    132145IF(ORXONOX_USE_WINMAIN)
    133146  SET(ORXONOX_WIN32 WIN32)
     147ENDIF()
     148
     149SET(ORXONOX_MAIN_FILES Orxonox.cc)
     150
     151# Add special source file for OS X
     152IF(APPLE)
     153  LIST(APPEND ORXONOX_MAIN_FILES OrxonoxMac.mm)
    134154ENDIF()
    135155
     
    140160    orxonox
    141161  SOURCE_FILES
    142     Orxonox.cc
     162    ${ORXONOX_MAIN_FILES}
    143163  OUTPUT_NAME orxonox
    144164)
     
    165185    SET(MSVC_PLATFORM "Win32")
    166186  ENDIF()
    167   STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?) .*$" "\\1"
    168          VISUAL_STUDIO_VERSION_SIMPLE "${CMAKE_GENERATOR}")
    169   CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox-main.vcproj.user.in" "${CMAKE_CURRENT_BINARY_DIR}/orxonox-main.vcproj.user")
     187  IF(MSVC10)
     188    CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox-main.vcxproj.user.in" "${CMAKE_CURRENT_BINARY_DIR}/orxonox-main.vcxproj.user")
     189  ELSE()
     190    STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?).*$" "\\1"
     191           VISUAL_STUDIO_VERSION_SIMPLE "${CMAKE_GENERATOR}")
     192    CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox-main.vcproj.user.in" "${CMAKE_CURRENT_BINARY_DIR}/orxonox-main.vcproj.user")
     193  ENDIF()
    170194ENDIF(MSVC)
     195
     196# Apple Mac OS X specific build settings
     197IF(APPLE)
     198  # On Apple we need to link to AppKit and Foundation frameworks
     199  TARGET_LINK_LIBRARIES(orxonox-main
     200    "-framework AppKit"
     201    "-framework Foundation"
     202  )
     203
     204  # Post-build step for the creation of the Dev-App bundle
     205  INCLUDE(PrepareDevBundle)
     206  ADD_CUSTOM_COMMAND(
     207    TARGET orxonox-main
     208    POST_BUILD
     209    # Copy the executable into the Orxonox.app
     210    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${ORXONOX_EXECUTABLE_NAME}" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app/Contents/MacOS"
     211    # Copy the dev-build marker file to Orxonox.app
     212    COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/orxonox_dev_build.keep_me" "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app/Contents/MacOS"
     213    # Create a shortcut of the application to the root of the build tree
     214    COMMAND ${CMAKE_COMMAND} -E create_symlink "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_CFG_INTDIR}/${PROJECT_NAME}.app" "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app"
     215  )
     216ENDIF(APPLE)
    171217
    172218#################### Doxygen ####################
Note: See TracChangeset for help on using the changeset viewer.