Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 9, 2009, 1:10:33 PM (15 years ago)
Author:
rgrieder
Message:
  • Using dependency directory directly in root dir of a branch as primary folder (./libs resp. ./dependencies) Second priority is ../libs for MinGW and ../lib_dist/vc8/dependencies for msvc.
  • Moved compiler and linker flags to ConfigPlatforms.cmake
  • Solved additional libraries for ENet under MinGW directly in FindEnet.cmake
Location:
code/branches/buildsystem2/cmake
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • code/branches/buildsystem2/cmake/ConfigMSVC.cmake

    r2579 r2582  
    3232
    3333IF (MSVC)
    34   MESSAGE(STATUS "Running on MSVC. Using customized paths.")
    35   SET(MSVC_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8")
     34  MESSAGE(STATUS "Running on MSVC. Using customized paths and options.")
     35
     36  # Determine library directory
     37  IF(EXISTS ${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8)
     38    SET(MSVC_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8")
     39  ELSEIF(EXISTS ${CMAKE_SOURCE_DIR}/../lib_dist/vc8/dependencies/orxonox_vc8)
     40    SET(MSVC_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/../lib_dist/vc8/dependencies/orxonox_vc8")
     41  ELSE(EXISTS ${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8)
     42    MESSAGE(FATAL_ERROR "Could not find dependency directory for the Visual Studio libraries")
     43  ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/dependencies/orxonox_vc8)
    3644  MARK_AS_ADVANCED(MSVC_LIBRARY_DIR)
    3745
    38   SET(BOOST_INCLUDEDIR ${MSVC_LIBRARY_DIR}/boost-1.35.0/include)
    39   SET(BOOST_LIBRARYDIR ${MSVC_LIBRARY_DIR}/boost-1.35.0/lib)
    40   SET(ENV{CEGUIDIR}    ${MSVC_LIBRARY_DIR}/cegui-0.6.1)
    41   SET(ENV{ENETDIR}     ${MSVC_LIBRARY_DIR}/enet-1.2)
    42   SET(ENV{ALUTDIR}     ${MSVC_LIBRARY_DIR}/freealut-1.1.0)
    43   SET(ENV{OGGDIR}      ${MSVC_LIBRARY_DIR}/libogg-1.1.3)
    44   SET(ENV{VORBISDIR}   ${MSVC_LIBRARY_DIR}/libvorbis-1.2.0)
    45   SET(ENV{OPENALDIR}   ${MSVC_LIBRARY_DIR}/openal-1.1)
    46   SET(ENV{LUA_DIR}     ${MSVC_LIBRARY_DIR}/lua-5.1.3)
    47   SET(ENV{OGRE_HOME}   ${MSVC_LIBRARY_DIR}/ogre-1.4.9)
    48   SET(TCL_INCLUDE_PATH ${MSVC_LIBRARY_DIR}/tcl-8.5.2/include)
    49   SET(TCL_LIBRARY      ${MSVC_LIBRARY_DIR}/tcl-8.5.2/lib/tcl85t.lib)
     46  # Set variables for the include directories and the libraries
     47  SET(BOOST_INCLUDEDIR       ${MSVC_LIBRARY_DIR}/boost-1.35.0/include)
     48  SET(BOOST_LIBRARYDIR       ${MSVC_LIBRARY_DIR}/boost-1.35.0/lib)
     49  SET(ENV{CEGUIDIR}          ${MSVC_LIBRARY_DIR}/cegui-0.6.1)
     50  SET(ENV{ENETDIR}           ${MSVC_LIBRARY_DIR}/enet-1.2)
     51  SET(ENV{ALUTDIR}           ${MSVC_LIBRARY_DIR}/freealut-1.1.0)
     52  SET(ENV{OGGDIR}            ${MSVC_LIBRARY_DIR}/libogg-1.1.3)
     53  SET(ENV{VORBISDIR}         ${MSVC_LIBRARY_DIR}/libvorbis-1.2.0)
     54  SET(ENV{OPENALDIR}         ${MSVC_LIBRARY_DIR}/openal-1.1)
     55  SET(ENV{LUA_DIR}           ${MSVC_LIBRARY_DIR}/lua-5.1.3)
     56  SET(ENV{OGRE_HOME}         ${MSVC_LIBRARY_DIR}/ogre-1.4.9)
     57  SET(TCL_INCLUDE_PATH       ${MSVC_LIBRARY_DIR}/tcl-8.5.2/include)
     58  SET(TCL_LIBRARY            ${MSVC_LIBRARY_DIR}/tcl-8.5.2/lib/tcl85t.lib)
    5059  SET(TCL_FOUND TRUE)
    51   SET(TCL_TCLSH        ${MSVC_LIBRARY_DIR}/tcl-8.5.2/lib/tcl85t.lib)
     60  # Do some hacking to avoid "Tclsh not found" message
     61  SET(TCL_TCLSH              ${MSVC_LIBRARY_DIR}/tcl-8.5.2/lib/tcl85t.lib)
    5262  SET(TCL_TCLSH_FOUND TRUE)
    53   SET(ZLIB_INCLUDE_DIR ${MSVC_LIBRARY_DIR}/zlib-1.2.3/include)
     63  SET(ZLIB_INCLUDE_DIR       ${MSVC_LIBRARY_DIR}/zlib-1.2.3/include)
    5464  SET(ZLIB_LIBRARY OPTIMIZED ${MSVC_LIBRARY_DIR}/zlib-1.2.3/lib/zlib.lib
    5565                   DEBUG     ${MSVC_LIBRARY_DIR}/zlib-1.2.3/lib/zlib_d.lib)
    5666  SET(ZLIB_FOUND TRUE)
     67
     68
     69  # Set standard compiler flags
     70  SET(CMAKE_C_FLAGS   "$ENV{CFLAGS}   ${ORXONOX_WARNING_FLAGS} -fPIC")
     71  SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} ${ORXONOX_WARNING_FLAGS} -fPIC")
     72  # These flags are added to the flags above
     73  SET(CMAKE_C_FLAGS_DEBUG            "    -g -ggdb")
     74  SET(CMAKE_CXX_FLAGS_DEBUG          "    -g -ggdb")
     75  SET(CMAKE_C_FLAGS_RELEASE          "-O3          -DNDEBUG")
     76  SET(CMAKE_CXX_FLAGS_RELEASE        "-O3          -DNDEBUG")
     77  SET(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g -ggdb -DNDEBUG")
     78  SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -ggdb -DNDEBUG")
     79  SET(CMAKE_C_FLAGS_MINSIZEREL       "-Os          -DNDEBUG")
     80  SET(CMAKE_CXX_FLAGS_MINSIZEREL     "-Os          -DNDEBUG")
     81
     82  # Linker flags
     83  SET(CMAKE_LD_FLAGS "$ENV{LDFLAGS}")
     84  SET(CMAKE_EXE_LINKER_FLAGS    " --no-undefined")
     85  SET(CMAKE_SHARED_LINKER_FLAGS " --no-undefined")
     86  SET(CMAKE_MODULE_LINKER_FLAGS " --no-undefined")
    5787ENDIF (MSVC)
  • code/branches/buildsystem2/cmake/ConfigMinGW.cmake

    r2581 r2582  
    3232
    3333IF (MINGW)
    34   MESSAGE(STATUS "Running on MinGW. Using customized paths.")
    35   SET(MINGW_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/../libs")
     34  MESSAGE(STATUS "Running on MinGW. Using customized paths and options.")
     35
     36  # Determine library directory
     37  IF(EXISTS ${CMAKE_SOURCE_DIR}/libs)
     38    SET(MINGW_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/libs")
     39  ELSEIF(EXISTS ${CMAKE_SOURCE_DIR}/../lis)
     40    SET(MINGW_LIBRARY_DIR "${CMAKE_SOURCE_DIR}/../libs")
     41  ELSE(EXISTS ${CMAKE_SOURCE_DIR}/libs)
     42    MESSAGE(FATAL_ERROR "Could not find dependency directory for the MinGW libraries")
     43  ENDIF(EXISTS ${CMAKE_SOURCE_DIR}/libs)
    3644  MARK_AS_ADVANCED(MING_LIBRARY_DIR)
    3745
     
    4149  SET(ENV{CEGUIDIR}    ${MINGW_LIBRARY_DIR}/cegui-0.6.1)
    4250  SET(ENV{ENETDIR}     ${MINGW_LIBRARY_DIR}/enet-1.1)
    43   # ENet is linked statically, hence we need to add some windows dependencies
    44   SET(ENET_ADDITIONAL_LIBRARIES ws2_32 winmm)
    4551  SET(ENV{ALUTDIR}     ${MINGW_LIBRARY_DIR}/freealut-1.1.0)
    4652  SET(ENV{OGGSDIR}     ${MINGW_LIBRARY_DIR}/libogg-1.1.3
     
    6167  ENDIF (NOT ENV{DXSDK_DIR})
    6268
    63   # MINGW doesn't like the -fPIC flag very much
    64   SET(ORXONOX_FPIC_FLAG "")
     69  # MINGW doesn't like the -fPIC flag, reconfigure flags
     70  SET(CMAKE_C_FLAGS   "$ENV{CFLAGS}   ${ORXONOX_WARNING_FLAGS)")
     71  SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} ${ORXONOX_WARNING_FLAGS)")
    6572ENDIF (MINGW)
    66 
    67 #MARK_AS_ADVANCED(MINGW_LIBRARY_DIR)
  • code/branches/buildsystem2/cmake/ConfigPlatforms.cmake

    r2581 r2582  
    2626 #
    2727 
    28 ############## Platform config ################
    29 # Do some platform specific fiddling.
    30 ###############################################
     28# If you want to set specific options for your platform, simply
     29# create a file called "ConfigUser.cmake" in the binary folder
     30# (see at the bottom of the file)
    3131
    32 # Set some variables to default values that may be configured below
    33 SET(ENET_ADDITIONAL_LIBRARIES "")
    34 SET(ORXONOX_FPIC_FLAG "-fPIC")
     32############ Misc Default Options ###############
     33
    3534SET(LIBRARY_DEBUG_POSTFIX "_d")
     35
     36OPTION(EXTRA_WARNINGS "Enable some extra warnings (pollutes the output heavily)")
     37IF(EXTRA_WARNINGS)
     38  SET(ORXONOX_WARNING_FLAGS "-Wextra --Wno-unsued-parameter")
     39ELSE(EXTRA_WARNINGS)
     40  SET(ORXONOX_WARNING_FLAGS "-Wall")
     41ENDIF(EXTRA_WARNINGS)
     42
    3643MARK_AS_ADVANCED(
    37   ENET_ADDITIONAL_LIBRARIES
    38   ORXONOX_FPIC_FLAG
    3944  LIBRARY_DEBUG_POSTFIX
     45  ORXONOX_WARNINGS_FLAGS
    4046)
     47
     48###### Default Compiler/Linker Options ##########
     49# Most people use GCC to compile orxonox, so use that as default
     50
     51SET(CMAKE_C_FLAGS   "$ENV{CFLAGS}   ${ORXONOX_WARNING_FLAGS} -fPIC")
     52SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} ${ORXONOX_WARNING_FLAGS} -fPIC")
     53# These flags are added to the flags above
     54SET(CMAKE_C_FLAGS_DEBUG            "    -g -ggdb")
     55SET(CMAKE_CXX_FLAGS_DEBUG          "    -g -ggdb")
     56SET(CMAKE_C_FLAGS_RELEASE          "-O3          -DNDEBUG")
     57SET(CMAKE_CXX_FLAGS_RELEASE        "-O3          -DNDEBUG")
     58SET(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -g -ggdb -DNDEBUG")
     59SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -ggdb -DNDEBUG")
     60SET(CMAKE_C_FLAGS_MINSIZEREL       "-Os          -DNDEBUG")
     61SET(CMAKE_CXX_FLAGS_MINSIZEREL     "-Os          -DNDEBUG")
     62
     63SET(CMAKE_LD_FLAGS "$ENV{LDFLAGS}")
     64SET(CMAKE_EXE_LINKER_FLAGS    " --no-undefined")
     65SET(CMAKE_SHARED_LINKER_FLAGS " --no-undefined")
     66SET(CMAKE_MODULE_LINKER_FLAGS " --no-undefined")
     67
     68########## Plaform Specific Config ##############
    4169
    4270# Set the platform specific options and paths
     
    4472INCLUDE(ConfigMSVC)
    4573INCLUDE(ConfigMinGW)
     74# User can create his own file if required
     75IF(EXISTS ${CMAKE_BINARY_DIR}/ConfigUser.cmake)
     76  INCLUDE(${CMAKE_BINARY_DIR}/ConfigUser)
     77ENDIF(EXISTS ${CMAKE_BINARY_DIR}/ConfigUser.cmake)
  • code/branches/buildsystem2/cmake/FindENet.cmake

    r2581 r2582  
    4747
    4848# Set optimized and debug libraries
    49 HandleLibraryTypes(ENET ${ENET_ADDITIONAL_LIBRARIES})
     49IF(MINGW)
     50  # ENet is linked statically, hence we need to add some windows dependencies
     51  HandleLibraryTypes(ENET ws2_32 winmm)
     52ELSE(MINGW)
     53  HandleLibraryTypes(ENET)
     54ENDIF(MINGW)
    5055
    5156MARK_AS_ADVANCED(
Note: See TracChangeset for help on using the changeset viewer.