Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/weapon/CMakeLists.txt @ 2228

Last change on this file since 2228 was 1951, checked in by polakma, 16 years ago

Objekte erstellt.

  • Property svn:eol-style set to native
File size: 3.6 KB
RevLine 
[1505]1PROJECT(Orxonox)
2
3cmake_minimum_required(VERSION 2.4)
4
[1776]5IF (COMMAND cmake_policy)
[1505]6  cmake_policy(SET CMP0003 NEW)
[1776]7ENDIF (COMMAND cmake_policy)
[1505]8
[1872]9# Allow for simple IF constructs (makes code a lot more readable)
10#SET(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true)
11
[1776]12# This sets where to look for modules (e.g. "Find*.cmake" files)
[1505]13SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
14
[1776]15# Check whether we are on a tardis box
[1505]16INCLUDE(CheckTardis)
17
18
[1951]19
[1505]20############## Testing options ##################
21
22OPTION(TESTING_ENABLED "Do you want to enable Testing")
23IF (TESTING_ENABLED)
24  ENABLE_TESTING()
25ENDIF(TESTING_ENABLED)
26
[1776]27OPTION (NETWORK_TESTING_ENABLED "Do you want to build network testing tools: i.e. chatclient chatserver and alike")
28OPTION (NETWORKTRAFFIC_TESTING_ENABLED "Do you want to build dummyserver4 and dummyclient4")
[1505]29
30
31########## Compiler/Linker options ##############
32
33# if on tardis change compiler and reset boost include directory
34IF(IS_TARDIS)
35  MESSAGE("System is a TARDIS: Setting Compiler to g++-4.1.1")
[1776]36  # Force-set the compiler on tardis machines, as default points to g++-3.3
[1505]37  SET(CMAKE_CXX_COMPILER "g++-4.1.1")
[1776]38  # Reset Boost serach path
[1505]39  SET(Boost_INCLUDE_DIR "/usr/pack/boost-1.34.1-sd/i686-debian-linux3.1/include")
40ELSE (IS_TARDIS)
[1776]41  IF (NOT WIN32)
42    SET(Boost_INCLUDE_DIR "/usr/include/boost")
43  ENDIF (NOT WIN32)
[1505]44ENDIF(IS_TARDIS)
45
[1776]46# Set binary output directories
[1505]47SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
48SET(LIBRARY_OUTPUT_PATH    ${PROJECT_SOURCE_DIR}/bin/lib)
49
[1776]50# Global compiler/linker flags. force -O2!
[1874]51SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
52SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
[1889]53#SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O3 -s")
54#SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O3 -s")
[1505]55
56SET(CMAKE_LD_FLAGS "$ENV{LDFLAGS}")
57SET(CMAKE_EXE_LINKER_FLAGS " --no-undefined")
58SET(CMAKE_SHARED_LINKER_FLAGS " --no-undefined")
59SET(CMAKE_MODULE_LINKER_FLAGS " --no-undefined")
60
[1776]61# Use 'cmake -D make_verb:1 path' to get verbose make output when compiling
[1505]62IF (MAKE_VERB)
63 SET(CMAKE_VERBOSE_MAKEFILE TRUE)
64ENDIF (MAKE_VERB)
65
66
67############### Library finding #################
68
[1776]69# Uncomment the following line if you want the include and library paths to be shown
70# Alternatively use the "-D VERBOSE_FIND:BOOL=true" option when executing cmake
71
72# SET (VERBOSE_FIND true)
73
[1872]74# Set the library directory when using precompiled tarballs for the dependencies under windows
75IF (WIN32)
76  IF (MSVC)
77    IF ($ENV{ORXONOX_DEV})
78      SET (DEPENDENCY_DIR ${CMAKE_SOURCE_DIR}/../lib_dist/dependencies/)
79    ELSE ($ENV{ORXONOX_DEV})
80      SET (DEPENDENCY_DIR ${CMAKE_SOURCE_DIR}/dependencies/)
81    ENDIF ($ENV{ORXONOX_DEV})
82    SET(Boost_LIB_SUFFIX_DEBUG vc80-mt-gd-1_35)
83  ENDIF (MSVC)
84ENDIF (WIN32)
85MESSAGE(STATUS ${DEPENDENCY_DIR})
86
[1776]87# Performs the search and sets the variables
[1505]88FIND_PACKAGE(OGRE)
[1755]89FIND_PACKAGE(CEGUI)
[1505]90# FIND_PACKAGE(CEGUI_OGRE)
91FIND_PACKAGE(ENet)
[1535]92FIND_PACKAGE(Boost REQUIRED thread filesystem)
[1505]93FIND_PACKAGE(OpenAL)
94FIND_PACKAGE(ALUT)
95FIND_PACKAGE(OggVorbis)
96FIND_PACKAGE(ZLIB)
[1810]97#FIND_PACKAGE(Lua)
[1505]98FIND_PACKAGE(TCL)
99FIND_PACKAGE(DirectX)
100
[1776]101# Set the search paths for the linking
[1505]102LINK_DIRECTORIES(
103  ${OGRE_LIB_DIR}
[1776]104  ${CEGUI_LIB_DIR}
[1810]105#  ${CEGUI_SCRIPT_LIB_DIR}
[1776]106#  ${CEGUI_OGRE_LIB_DIR}
[1505]107  ${ENet_LIBRARY}
108  ${Boost_LIBRARY_DIRS}
109  ${Zlib_LIBRARY_DIR}
110  ${TCL_LIBRARY}
111)
112
[1776]113# Set the search paths for include files
[1505]114INCLUDE_DIRECTORIES(
115  ${OGRE_INCLUDE_DIR}
[1776]116  ${CEGUI_INCLUDE_DIR}
117#  ${CEGUI_OGRE_INCLUDE_DIR}
[1505]118  ${ENet_INCLUDE_DIR}
119  ${Boost_INCLUDE_DIRS}
120  ${OPENAL_INCLUDE_DIR}
121  ${ALUT_INCLUDE_DIR}
122  ${VORBIS_INCLUDE_DIR}
123  ${OGG_INCLUDE_DIR}
[1810]124#  ${Lua_INCLUDE_DIR}
[1505]125  ${TCL_INCLUDE_PATH}
126  ${DirectX_INCLUDE_DIR}
127  ${ZLIB_INCLUDE_DIR}
128)
129
[1776]130# Add main source dir
[1505]131ADD_SUBDIRECTORY(src)
132
Note: See TracBrowser for help on using the repository browser.