Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/presentation2012/CMakeLists.txt @ 9241

Last change on this file since 9241 was 9241, checked in by decapitb, 12 years ago

tower defense update

  • Property svn:eol-style set to native
  • Property svn:mergeinfo set to (toggle deleted branches)
    /code/branches/dockingsystem2/CMakeLists.txtmergedeligible
    /code/branches/environment3/CMakeLists.txtmergedeligible
    /code/branches/formation/CMakeLists.txtmergedeligible
    /code/branches/gamecontent/CMakeLists.txtmergedeligible
    /code/branches/hud/CMakeLists.txtmergedeligible
    /code/branches/masterserverfix/CMakeLists.txtmergedeligible
    /code/branches/menue/CMakeLists.txtmergedeligible
    /code/branches/newlevel2012/CMakeLists.txtmergedeligible
    /code/branches/output/CMakeLists.txtmergedeligible
    /code/branches/pickup2012/CMakeLists.txtmergedeligible
    /code/branches/presentation/CMakeLists.txtmergedeligible
    /code/branches/presentation2011/CMakeLists.txtmergedeligible
    /code/branches/shipSelection/CMakeLists.txtmergedeligible
    /code/branches/sound2012/CMakeLists.txtmergedeligible
    /code/branches/spacegate/CMakeLists.txtmergedeligible
    /code/branches/spaceraceTwo/CMakeLists.txtmergedeligible
    /code/branches/surfaceRace/CMakeLists.txtmergedeligible
    /code/branches/usability/CMakeLists.txtmergedeligible
    /code/trunk/CMakeLists.txtmergedeligible
    /code/branches/ai/CMakeLists.txt6592-7033
    /code/branches/ai2/CMakeLists.txt8721-8880
    /code/branches/bigships/CMakeLists.txt8137-8588
    /code/branches/buildsystem/CMakeLists.txt1874-2276,​2278-2400
    /code/branches/buildsystem2/CMakeLists.txt2506-2658
    /code/branches/buildsystem3/CMakeLists.txt2662-2708
    /code/branches/ceguilua/CMakeLists.txt1802-1808
    /code/branches/chat/CMakeLists.txt6527-6797
    /code/branches/chat2/CMakeLists.txt6836-6910
    /code/branches/console/CMakeLists.txt5941-6104
    /code/branches/consolecommands2/CMakeLists.txt6451-7178
    /code/branches/consolecommands3/CMakeLists.txt7178-7283
    /code/branches/core3/CMakeLists.txt1572-1739
    /code/branches/core4/CMakeLists.txt3221-3224,​3227,​3234-3238,​3242,​3244-3250,​3252-3254,​3256,​3259-3261,​3264-3265,​3268-3275,​3277-3278,​3280,​3284-3285,​3287,​3289-3294,​3305,​3309-3310
    /code/branches/core5/CMakeLists.txt5768-5928,​6009
    /code/branches/data_cleanup/CMakeLists.txt7537-7686
    /code/branches/doc/CMakeLists.txt7290-7400
    /code/branches/dockingsystem/CMakeLists.txt8101-8192
    /code/branches/dynamicmatch/CMakeLists.txt6584-7030
    /code/branches/fps/CMakeLists.txt6591-7072
    /code/branches/gameimmersion/CMakeLists.txt8102-8577
    /code/branches/gamestate/CMakeLists.txt6430-6572,​6621-6661
    /code/branches/gamestates2/CMakeLists.txt6594-6745
    /code/branches/gametypes/CMakeLists.txt2826-3031
    /code/branches/gcc43/CMakeLists.txt1580
    /code/branches/gui/CMakeLists.txt1635-1723,​2795-2894
    /code/branches/hudelements/CMakeLists.txt6584-6941
    /code/branches/hudimprovements/CMakeLists.txt7920-8672
    /code/branches/ingamemenu/CMakeLists.txt6000-6023
    /code/branches/input/CMakeLists.txt1629-1636
    /code/branches/ipv6/CMakeLists.txt7293-7458
    /code/branches/kicklib/CMakeLists.txt7940-8096,​8098-8277
    /code/branches/kicklib2/CMakeLists.txt8282-8350
    /code/branches/lastmanstanding/CMakeLists.txt7479-7644
    /code/branches/lastmanstanding3/CMakeLists.txt7903-8175
    /code/branches/libraries/CMakeLists.txt5612-5692
    /code/branches/libraries2/CMakeLists.txt5703-5737
    /code/branches/lod/CMakeLists.txt6586-6911
    /code/branches/lodfinal/CMakeLists.txt2372-2411
    /code/branches/mac_osx/CMakeLists.txt7789-8128,​8135
    /code/branches/map/CMakeLists.txt2801-3086,​3089
    /code/branches/masterserver/CMakeLists.txt7502-7738
    /code/branches/menu/CMakeLists.txt5941-6146,​6148,​7536-7687
    /code/branches/miniprojects/CMakeLists.txt2754-2824
    /code/branches/netp2/CMakeLists.txt2835-2988
    /code/branches/netp3/CMakeLists.txt2988-3082
    /code/branches/netp6/CMakeLists.txt3214-3302
    /code/branches/network/CMakeLists.txt2356
    /code/branches/network2/CMakeLists.txt6434-6465
    /code/branches/network3/CMakeLists.txt7196-7344
    /code/branches/network4/CMakeLists.txt7497-7755
    /code/branches/network5/CMakeLists.txt7757-7781
    /code/branches/network6/CMakeLists.txt7823-8315
    /code/branches/network64/CMakeLists.txt2210-2355
    /code/branches/notifications/CMakeLists.txt7314-7401
    /code/branches/objecthierarchy/CMakeLists.txt1911-2085,​2100,​2110-2169
    /code/branches/objecthierarchy2/CMakeLists.txt2171-2479
    /code/branches/ois_update/CMakeLists.txt7506-7788
    /code/branches/overlay/CMakeLists.txt2117-2385
    /code/branches/particles/CMakeLists.txt2829-3085
    /code/branches/particles2/CMakeLists.txt6050-6106,​6109
    /code/branches/pch/CMakeLists.txt3113-3194
    /code/branches/physics/CMakeLists.txt1912-2055,​2107-2439
    /code/branches/physics_merge/CMakeLists.txt2436-2457
    /code/branches/pickup/CMakeLists.txt8145-8555
    /code/branches/pickup2/CMakeLists.txt5942-6405
    /code/branches/pickup3/CMakeLists.txt6418-6523
    /code/branches/pickup4/CMakeLists.txt6594-6710
    /code/branches/pickups/CMakeLists.txt1926-2086,​2127,​2827-2915
    /code/branches/pickups2/CMakeLists.txt2107-2497,​2915-3071
    /code/branches/png2/CMakeLists.txt7262-7263
    /code/branches/portals/CMakeLists.txt8087-8455
    /code/branches/portals2/CMakeLists.txt8460-8602
    /code/branches/ppspickups1/CMakeLists.txt6552-6708
    /code/branches/ppspickups2/CMakeLists.txt6527-6532,​6554-6709
    /code/branches/ppspickups3/CMakeLists.txt6757-6997
    /code/branches/ppspickups4/CMakeLists.txt7003-7089
    /code/branches/presentation2/CMakeLists.txt6106-6416,​7787-7800
    /code/branches/presentation3/CMakeLists.txt6913-7162
    /code/branches/questsystem/CMakeLists.txt1894-2088
    /code/branches/questsystem2/CMakeLists.txt2107-2259
    /code/branches/questsystem5/CMakeLists.txt2776-2905
    /code/branches/releasetodo/CMakeLists.txt7614-7647
    /code/branches/resource/CMakeLists.txt3327-3366
    /code/branches/resource2/CMakeLists.txt3372-5694
    /code/branches/rocket/CMakeLists.txt6523-6950
    /code/branches/rocket2/CMakeLists.txt6953-6970
    /code/branches/script_trigger/CMakeLists.txt1295-1953,​1955
    /code/branches/skybox2/CMakeLists.txt6559-6989
    /code/branches/sound/CMakeLists.txt2829-3010
    /code/branches/sound3/CMakeLists.txt5941-6102
    /code/branches/spaceboundaries/CMakeLists.txt8085-8457
    /code/branches/spaceboundaries2/CMakeLists.txt8460-8613
    /code/branches/spacerace/CMakeLists.txt8182-8630
    /code/branches/steering/CMakeLists.txt5949-6091,​8140-8595
    /code/branches/tetris/CMakeLists.txt8100-8563
    /code/branches/tutoriallevel/CMakeLists.txt7827-8370
    /code/branches/tutoriallevel2/CMakeLists.txt8370-8452
    /code/branches/tutoriallevel3/CMakeLists.txt8453-8636
    /code/branches/unity_build/CMakeLists.txt8440-8716
    /code/branches/weapon/CMakeLists.txt1925-2094
    /code/branches/weapon2/CMakeLists.txt2107-2488
    /code/branches/weapons/CMakeLists.txt2897-3051,​8143-8591
    /code/branches/weaponsystem/CMakeLists.txt2742-2890
File size: 5.9 KB
Line 
1 #
2 #             ORXONOX - the hottest 3D action shooter ever to exist
3 #                             > www.orxonox.net <
4 #
5 #        This program is free software; you can redistribute it and/or
6 #         modify it under the terms of the GNU General Public License
7 #        as published by the Free Software Foundation; either version 2
8 #            of the License, or (at your option) any later version.
9 #
10 #       This program is distributed in the hope that it will be useful,
11 #        but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #        MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #                 GNU General Public License for more details.
14 #
15 #   You should have received a copy of the GNU General Public License along
16 #      with this program; if not, write to the Free Software Foundation,
17 #     Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
18 #
19 #
20 #  Author:
21 #    Reto Grieder
22 #  Description:
23 #    Configures some basics and controls the configuration scripts
24 #
25
26# Defined LINUX
27IF(UNIX AND NOT APPLE)
28  SET(LINUX TRUE)
29ENDIF()
30
31# Keep devs from using the root directory as binary directory (messes up the source tree)
32IF(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR})
33  MESSAGE(FATAL_ERROR "Please do not use the root directory as CMake output directory!
34  mkdir build; cd build; cmake ..
35  And you will have to clean the source directory by deleting CMakeCache.txt and the folder CMakeFiles")
36ENDIF()
37
38PROJECT(Orxonox C CXX)
39
40# Check AFTER the PROJECT command because MSVC10 gets defined there
41IF(WIN32)
42  IF(MSVC10)
43    CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3 FATAL_ERROR)
44  ELSE()
45    CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
46  ENDIF()
47ELSE()
48  CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
49ENDIF()
50
51################ General Config #################
52
53# Version info
54SET(ORXONOX_VERSION_MAJOR 0)
55SET(ORXONOX_VERSION_MINOR 0)
56SET(ORXONOX_VERSION_PATCH 5)
57SET(ORXONOX_VERSION
58  ${ORXONOX_VERSION_MAJOR}.${ORXONOX_VERSION_MINOR}.${ORXONOX_VERSION_PATCH}
59)
60SET(ORXONOX_VERSION_NAME "Arcturus")
61
62# Standard path suffixes
63SET(DEFAULT_RUNTIME_PATH bin)
64SET(DEFAULT_LIBRARY_PATH lib)
65SET(DEFAULT_ARCHIVE_PATH lib/static)
66SET(DEFAULT_MODULE_PATH  lib/modules)
67SET(DEFAULT_DOC_PATH     doc)
68SET(DEFAULT_DATA_PATH    data)
69SET(DEFAULT_CONFIG_PATH  config)
70SET(DEFAULT_LOG_PATH     log)
71SET(DEFAULT_BUNDLE_PATH  bundle)
72
73# Set output directories
74SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${DEFAULT_RUNTIME_PATH})
75SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${DEFAULT_LIBRARY_PATH})
76SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${DEFAULT_ARCHIVE_PATH})
77SET(CMAKE_MODULE_OUTPUT_DIRECTORY  ${CMAKE_BINARY_DIR}/${DEFAULT_MODULE_PATH})
78SET(CMAKE_DOC_OUTPUT_DIRECTORY     ${CMAKE_BINARY_DIR}/${DEFAULT_DOC_PATH})
79# Data directories are only inputs, no delclaration here
80SET(CMAKE_CONFIG_OUTPUT_DIRECTORY  ${CMAKE_BINARY_DIR}/${DEFAULT_CONFIG_PATH})
81SET(CMAKE_LOG_OUTPUT_DIRECTORY     ${CMAKE_BINARY_DIR}/${DEFAULT_LOG_PATH})
82
83# Set the extension of the dynamic modules
84SET(ORXONOX_MODULE_EXTENSION ".module")
85
86# Sets where to find the external libraries like OgreMain.dll at runtime
87# On Unix you should not have to change this at all.
88# This only applies to development runs in the build tree
89SET(RUNTIME_LIBRARY_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
90
91# Take care of some CMake 2.6.0 leftovers
92MARK_AS_ADVANCED(EXECUTABLE_OUTPUT_PATH LIBRARY_OUTPUT_PATH)
93
94# This sets where to look for CMake modules (e.g. "Find*.cmake" files)
95SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_SOURCE_DIR}/cmake/tools)
96
97# Flag variables for extra configuration "RelForDevs" should be hidden
98MARK_AS_ADVANCED(
99  CMAKE_CXX_FLAGS_RELFORDEVS
100  CMAKE_C_FLAGS_RELFORDEVS
101  CMAKE_EXE_LINKER_FLAGS_RELFORDEVS
102  CMAKE_MODULE_LINKER_FLAGS_RELFORDEVS
103  CMAKE_SHARED_LINKER_FLAGS_RELFORDEVS
104)
105
106IF(NOT CMAKE_CONFIGURATION_TYPES)
107  # Set Debug build to default when not having multi-config generator like MSVC or XCODE
108  IF(NOT CMAKE_BUILD_TYPE)
109    SET(CMAKE_BUILD_TYPE Debug CACHE STRING
110        "Build types are: Debug, RelForDevs, RelWithDebInfo, Release, MinSizeRel" FORCE)
111  ENDIF()
112  MARK_AS_ADVANCED(CLEAR CMAKE_BUILD_TYPE)
113
114  MESSAGE(STATUS "*** Build type is ${CMAKE_BUILD_TYPE} ***")
115ELSE()
116  # Make sure no build type is ever set
117  IF(CMAKE_BUILD_TYPE)
118    SET(CMAKE_BUILD_TYPE CACHE STRING FORCE)
119  ENDIF()
120  MARK_AS_ADVANCED(FORCE CMAKE_BUILD_TYPE)
121  # Add our extra configuration "RelForDevs"
122  SET(CMAKE_CONFIGURATION_TYPES "Debug;RelForDevs;RelWithDebInfo;Release;MinSizeRel"
123      CACHE STRING "Semicolon separated list of supported configuration types." FORCE)
124ENDIF()
125
126# Debug builds can not be installed
127INSTALL(SCRIPT cmake/InstallCheck.cmake)
128
129IF(APPLE)
130  # Set 10.5 as the base SDK by default
131  SET(XCODE_ATTRIBUTE_SDKROOT macosx10.5)
132
133  # 10.6 sets x86_64 as the default architecture.
134  # Because Carbon isn't supported on 64-bit and we still need it, force the architectures to ppc and i386
135  IF(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
136    SET(CMAKE_OSX_ARCHITECTURES "i386")
137  ENDIF()
138  IF(CMAKE_OSX_ARCHITECTURES MATCHES "ppc64")
139    SET(CMAKE_OSX_ARCHITECTURES "ppc")
140  ENDIF()
141  IF(NOT CMAKE_OSX_ARCHITECTURES)
142    SET(CMAKE_OSX_ARCHITECTURES "i386")
143  ENDIF()
144ENDIF()
145
146########### Subfolders and Subscripts ###########
147
148# General build and compiler options and configurations
149INCLUDE(CompilerConfig)
150
151# Library finding
152INCLUDE(LibraryConfig)
153
154# Configure installation paths and options
155INCLUDE(InstallConfig)
156
157# Configure data directory location and installation
158ADD_SUBDIRECTORY(data)
159
160# Create the actual project
161ADD_SUBDIRECTORY(src)
162
163# Configure the binary output directory. Do this after src!
164ADD_SUBDIRECTORY(bin)
165
166# System specific files (mostly for installation)
167ADD_SUBDIRECTORY(contrib)
168
169# Last but not least: Try to make a doc target with Doxygen
170ADD_SUBDIRECTORY(doc)
171
172########### CPack Packaging ###########
173
174# Currently only testing on Apple
175#IF(APPLE)
176#  INCLUDE(BundleConfig)
177#ENDIF(APPLE)
Note: See TracBrowser for help on using the repository browser.