Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem/CMakeLists.txt @ 1908

Last change on this file since 1908 was 1886, checked in by adrfried, 16 years ago

Set library path on Windoof.

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