Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 17, 2008, 8:59:48 PM (17 years ago)
Author:
rgrieder
Message:

Merged revisions 1875-2278 of the buildsystem branch to buildsystem2.

Location:
code/branches/buildsystem2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/buildsystem2

  • code/branches/buildsystem2/CMakeLists.txt

    r1889 r2509  
    11PROJECT(Orxonox)
    22
    3 cmake_minimum_required(VERSION 2.4)
    4 
    5 IF (COMMAND cmake_policy)
    6   cmake_policy(SET CMP0003 NEW)
    7 ENDIF (COMMAND cmake_policy)
    8 
    9 # Allow for simple IF constructs (makes code a lot more readable)
    10 #SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
     3CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
    114
    125# This sets where to look for modules (e.g. "Find*.cmake" files)
    136SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
    147
    15 # Check whether we are on a tardis box
     8# Check for special include paths
    169INCLUDE(CheckTardis)
     10INCLUDE(CheckOrxonoxWinDeps)
    1711
     12################ Test options ###################
    1813
    19 ############## Testing options ##################
     14OPTION(ENABLE_TESTS "Enable build tests.")
     15IF(ENABLE_TESTS)
     16  ENABLE_TESTING()
     17ENDIF(ENABLE_TESTS)
    2018
    21 OPTION(TESTING_ENABLED "Do you want to enable Testing")
    22 IF (TESTING_ENABLED)
    23   ENABLE_TESTING()
    24 ENDIF(TESTING_ENABLED)
    25 
    26 OPTION (NETWORK_TESTING_ENABLED "Do you want to build network testing tools: i.e. chatclient chatserver and alike")
    27 OPTION (NETWORKTRAFFIC_TESTING_ENABLED "Do you want to build dummyserver4 and dummyclient4")
    28 
     19OPTION(NETWORK_TESTING_ENABLED "Build network testing tools: i.e. chatclient chatserver and alike.")
     20OPTION(NETWORKTRAFFIC_TESTING_ENABLED "Build dummyserver4 and dummyclient4.")
    2921
    3022########## Compiler/Linker options ##############
    3123
    32 # if on tardis change compiler and reset boost include directory
    33 IF(IS_TARDIS)
    34   MESSAGE("System is a TARDIS: Setting Compiler to g++-4.1.1")
    35   # Force-set the compiler on tardis machines, as default points to g++-3.3
    36   SET(CMAKE_CXX_COMPILER "g++-4.1.1")
    37   # Reset Boost serach path
    38   SET(Boost_INCLUDE_DIR "/usr/pack/boost-1.34.1-sd/i686-debian-linux3.1/include")
    39 ELSE (IS_TARDIS)
    40   IF (NOT WIN32)
    41     SET(Boost_INCLUDE_DIR "/usr/include/boost")
    42   ENDIF (NOT WIN32)
    43 ENDIF(IS_TARDIS)
     24# Set binary output directories
     25SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
     26SET(LIBRARY_OUTPUT_PATH    ${PROJECT_BINARY_DIR}/bin)
     27MARK_AS_ADVANCED(EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH)
    4428
    45 # Set binary output directories
    46 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
    47 SET(LIBRARY_OUTPUT_PATH    ${PROJECT_SOURCE_DIR}/bin/lib)
    48 
    49 # Global compiler/linker flags. force -O2!
    50 SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
    51 SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
    52 #SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O3 -s")
    53 #SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O3 -s")
     29# Compiler/Linker flags.
     30IF(NOT CMAKE_BUILD_TYPE)
     31  SET(CMAKE_BUILD_TYPE "Debug")
     32ENDIF(NOT CMAKE_BUILD_TYPE)
     33SET(CMAKE_C_FLAGS   "$ENV{CFLAGS}   -Wall -Wextra -Wno-unused-parameter")
     34SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -Wall -Wextra -Wno-unused-parameter")
     35SET(CMAKE_C_FLAGS_DEBUG            "-g -ggdb")
     36SET(CMAKE_CXX_FLAGS_DEBUG          "-g -ggdb")
     37SET(CMAKE_C_FLAGS_RELEASE          "-O3 -DNDEBUG")
     38SET(CMAKE_CXX_FLAGS_RELEASE        "-O3 -DNDEBUG")
     39SET(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -DNDEBUG -g -ggdb")
     40SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -DNDEBUG -g -ggdb")
     41SET(CMAKE_C_FLAGS_MINSIZEREL       "-Os -DNDEBUG")
     42SET(CMAKE_CXX_FLAGS_MINSIZEREL     "-Os -DNDEBUG")
    5443
    5544SET(CMAKE_LD_FLAGS "$ENV{LDFLAGS}")
     
    5847SET(CMAKE_MODULE_LINKER_FLAGS " --no-undefined")
    5948
    60 # Use 'cmake -D make_verb:1 path' to get verbose make output when compiling
    61 IF (MAKE_VERB)
    62  SET(CMAKE_VERBOSE_MAKEFILE TRUE)
    63 ENDIF (MAKE_VERB)
    64 
    65 
    6649############### Library finding #################
    6750
    68 # Uncomment the following line if you want the include and library paths to be shown
    69 # Alternatively use the "-D VERBOSE_FIND:BOOL=true" option when executing cmake
     51# Performs the search and sets the variables
     52FIND_PACKAGE(OGRE REQUIRED)
     53FIND_PACKAGE(CEGUI REQUIRED)
     54# CEGUI_OGRE included in source
     55#FIND_PACKAGE(CEGUI_OGRE REQUIRED)
     56FIND_PACKAGE(ENet REQUIRED)
     57FIND_PACKAGE(Boost 1.34 REQUIRED thread filesystem)
     58FIND_PACKAGE(OpenAL REQUIRED)
     59FIND_PACKAGE(ALUT REQUIRED)
     60FIND_PACKAGE(OggVorbis REQUIRED)
     61FIND_PACKAGE(ZLIB REQUIRED)
     62FIND_PACKAGE(DirectX REQUIRED)
     63FIND_PACKAGE(Lua50 REQUIRED)
     64#FIND_PACKAGE(Lua51 QUIET)
    7065
    71 # SET (VERBOSE_FIND true)
    72 
    73 # Set the library directory when using precompiled tarballs for the dependencies under windows
    74 IF (WIN32)
    75   IF (MSVC)
    76     IF ($ENV{ORXONOX_DEV})
    77       SET (DEPENDENCY_DIR ${CMAKE_SOURCE_DIR}/../lib_dist/dependencies/)
    78     ELSE ($ENV{ORXONOX_DEV})
    79       SET (DEPENDENCY_DIR ${CMAKE_SOURCE_DIR}/dependencies/)
    80     ENDIF ($ENV{ORXONOX_DEV})
    81     SET(Boost_LIB_SUFFIX_DEBUG vc80-mt-gd-1_35)
    82   ENDIF (MSVC)
    83 ENDIF (WIN32)
    84 MESSAGE(STATUS ${DEPENDENCY_DIR})
    85 
    86 # Performs the search and sets the variables
    87 FIND_PACKAGE(OGRE)
    88 FIND_PACKAGE(CEGUI)
    89 # FIND_PACKAGE(CEGUI_OGRE)
    90 FIND_PACKAGE(ENet)
    91 FIND_PACKAGE(Boost REQUIRED thread filesystem)
    92 FIND_PACKAGE(OpenAL)
    93 FIND_PACKAGE(ALUT)
    94 FIND_PACKAGE(OggVorbis)
    95 FIND_PACKAGE(ZLIB)
    96 #FIND_PACKAGE(Lua)
    97 FIND_PACKAGE(TCL)
    98 FIND_PACKAGE(DirectX)
    99 
    100 # Set the search paths for the linking
    101 LINK_DIRECTORIES(
    102   ${OGRE_LIB_DIR}
    103   ${CEGUI_LIB_DIR}
    104 #  ${CEGUI_SCRIPT_LIB_DIR}
    105 #  ${CEGUI_OGRE_LIB_DIR}
    106   ${ENet_LIBRARY}
    107   ${Boost_LIBRARY_DIRS}
    108   ${Zlib_LIBRARY_DIR}
    109   ${TCL_LIBRARY}
    110 )
    111 
    112 # Set the search paths for include files
    113 INCLUDE_DIRECTORIES(
    114   ${OGRE_INCLUDE_DIR}
    115   ${CEGUI_INCLUDE_DIR}
    116 #  ${CEGUI_OGRE_INCLUDE_DIR}
    117   ${ENet_INCLUDE_DIR}
    118   ${Boost_INCLUDE_DIRS}
    119   ${OPENAL_INCLUDE_DIR}
    120   ${ALUT_INCLUDE_DIR}
    121   ${VORBIS_INCLUDE_DIR}
    122   ${OGG_INCLUDE_DIR}
    123 #  ${Lua_INCLUDE_DIR}
    124   ${TCL_INCLUDE_PATH}
    125   ${DirectX_INCLUDE_DIR}
    126   ${ZLIB_INCLUDE_DIR}
    127 )
     66#don't require the whole tcl rat tail
     67FIND_PACKAGE(TCL QUIET)
     68IF(NOT TCL_FOUND)
     69    MESSAGE(FATAL_ERROR "Tcl not found.")
     70ENDIF(NOT TCL_FOUND)
    12871
    12972# Add main source dir
    13073ADD_SUBDIRECTORY(src)
    131 
     74ADD_SUBDIRECTORY(bin)
Note: See TracChangeset for help on using the changeset viewer.