Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 1882 was 1882, checked in by adrfried, 15 years ago

out-of-source-builds working in basics

  • Property svn:eol-style set to native
File size: 3.6 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# Global compiler/linker flags. force -O2!
50SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O0 -Wall -g -ggdb")
51SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")
52#SET(CMAKE_C_FLAGS "$ENV{CFLAGS} -O3")
53#SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} -O3")
54
55SET(CMAKE_LD_FLAGS "$ENV{LDFLAGS}")
56SET(CMAKE_EXE_LINKER_FLAGS " --no-undefined")
57SET(CMAKE_SHARED_LINKER_FLAGS " --no-undefined")
58SET(CMAKE_MODULE_LINKER_FLAGS " --no-undefined")
59
60# Use 'cmake -D make_verb:1 path' to get verbose make output when compiling
61IF (MAKE_VERB)
62 SET(CMAKE_VERBOSE_MAKEFILE TRUE)
63ENDIF (MAKE_VERB)
64
65
66############### Library finding #################
67
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
70
71# SET (VERBOSE_FIND true)
72
73# Set the library directory when using precompiled tarballs for the dependencies under windows
74IF (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)
83ENDIF (WIN32)
84MESSAGE(STATUS ${DEPENDENCY_DIR})
85
86# Performs the search and sets the variables
87FIND_PACKAGE(OGRE)
88FIND_PACKAGE(CEGUI)
89# FIND_PACKAGE(CEGUI_OGRE)
90FIND_PACKAGE(ENet)
91FIND_PACKAGE(Boost REQUIRED thread filesystem)
92FIND_PACKAGE(OpenAL)
93FIND_PACKAGE(ALUT)
94FIND_PACKAGE(OggVorbis)
95FIND_PACKAGE(ZLIB)
96#FIND_PACKAGE(Lua)
97FIND_PACKAGE(TCL)
98FIND_PACKAGE(DirectX)
99
100# Set the search paths for the linking
101LINK_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
113INCLUDE_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)
128
129# Add main source dir
130ADD_SUBDIRECTORY(src)
131
Note: See TracBrowser for help on using the repository browser.