| [2710] | 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 |  # | 
|---|
| [5664] | 19 |  # | 
|---|
 | 20 |  #  Author: | 
|---|
 | 21 |  #    Reto Grieder | 
|---|
 | 22 |  #  Description: | 
|---|
 | 23 |  #    Configures the compilers and sets build options. | 
|---|
 | 24 |  # | 
|---|
| [1505] | 25 |  | 
|---|
| [5664] | 26 | # Required macros and functions | 
|---|
| [2710] | 27 | INCLUDE(FlagUtilities) | 
|---|
| [3196] | 28 | INCLUDE(TargetUtilities) | 
|---|
| [2710] | 29 |  | 
|---|
| [5664] | 30 | # Configure the two headers and set some options | 
|---|
 | 31 | INCLUDE(OrxonoxConfig.cmake) | 
|---|
| [2710] | 32 |  | 
|---|
| [5664] | 33 | ################ Library Defines ################ | 
|---|
| [2710] | 34 |  | 
|---|
| [5664] | 35 | # Disable Boost auto linking completely | 
|---|
 | 36 | ADD_COMPILER_FLAGS("-DBOOST_ALL_NO_LIB") | 
|---|
| [2710] | 37 |  | 
|---|
| [5664] | 38 | # If no defines are specified, these libs get linked statically | 
|---|
 | 39 | ADD_COMPILER_FLAGS("-DBOOST_ALL_DYN_LINK" WIN32 LINK_BOOST_DYNAMIC) | 
|---|
 | 40 | ADD_COMPILER_FLAGS("-DENET_DLL"           WIN32 LINK_ENET_DYNAMIC) | 
|---|
 | 41 | ADD_COMPILER_FLAGS("-DLUA_BUILD_AS_DLL"   WIN32 LINK_LUA_DYNAMIC) | 
|---|
 | 42 | ADD_COMPILER_FLAGS("-DOIS_DYNAMIC_LIB") | 
|---|
 | 43 | ADD_COMPILER_FLAGS("-DZLIB_DLL"           WIN32 LINK_ZLIB_DYNAMIC) | 
|---|
 | 44 | # If no defines are specified, these libs get linked dynamically | 
|---|
 | 45 | ADD_COMPILER_FLAGS("-DCEGUI_STATIC"       WIN32 NOT LINK_CEGUI_DYNAMIC) | 
|---|
 | 46 | ADD_COMPILER_FLAGS("-DOGRE_STATIC_LIB"    WIN32 NOT LINK_OGRE_DYNAMIC) | 
|---|
 | 47 | ADD_COMPILER_FLAGS("-DSTATIC_BUILD"       WIN32 NOT LINK_TCL_DYNAMIC) | 
|---|
| [2710] | 48 |  | 
|---|
| [5664] | 49 | # Use TinyXML++ | 
|---|
 | 50 | ADD_COMPILER_FLAGS("-DTIXML_USE_TICPP") | 
|---|
| [2710] | 51 |  | 
|---|
 | 52 | ############## Include Directories ############## | 
|---|
 | 53 |  | 
|---|
 | 54 | # Set the search paths for include files | 
|---|
 | 55 | INCLUDE_DIRECTORIES( | 
|---|
 | 56 |   # External | 
|---|
 | 57 |   ${OGRE_INCLUDE_DIR} | 
|---|
 | 58 |   ${CEGUI_INCLUDE_DIR} | 
|---|
 | 59 |   ${ENET_INCLUDE_DIR} | 
|---|
 | 60 |   ${Boost_INCLUDE_DIRS} | 
|---|
 | 61 |   ${OPENAL_INCLUDE_DIRS} | 
|---|
 | 62 |   ${ALUT_INCLUDE_DIR} | 
|---|
 | 63 |   ${VORBIS_INCLUDE_DIR} | 
|---|
 | 64 |   ${OGG_INCLUDE_DIR} | 
|---|
 | 65 |   ${LUA_INCLUDE_DIR} | 
|---|
 | 66 |   ${TCL_INCLUDE_PATH} | 
|---|
 | 67 |   ${DIRECTX_INCLUDE_DIR} | 
|---|
 | 68 |   ${ZLIB_INCLUDE_DIR} | 
|---|
| [3196] | 69 |   ${VLD_INCLUDE_DIR} | 
|---|
| [2710] | 70 |  | 
|---|
 | 71 |   # All library includes are prefixed with the path to avoid conflicts | 
|---|
 | 72 |   ${CMAKE_CURRENT_SOURCE_DIR} | 
|---|
 | 73 |   # Bullet headers really need the include directory | 
|---|
 | 74 |   ${CMAKE_CURRENT_SOURCE_DIR}/bullet | 
|---|
| [3084] | 75 |   # OIS headers need the root dir as well | 
|---|
 | 76 |   ${CMAKE_CURRENT_SOURCE_DIR}/ois | 
|---|
| [2710] | 77 |   # Convenience directory | 
|---|
 | 78 |   ${CMAKE_CURRENT_SOURCE_DIR}/orxonox | 
|---|
 | 79 |   # OrxonoxConfig.h | 
|---|
 | 80 |   ${CMAKE_CURRENT_BINARY_DIR} | 
|---|
 | 81 |   # Tolua bind files for Core | 
|---|
 | 82 |   ${CMAKE_CURRENT_BINARY_DIR}/core/${CMAKE_CFG_INTDIR} | 
|---|
 | 83 |   # Tolua bind files for Orxonox | 
|---|
 | 84 |   ${CMAKE_CURRENT_BINARY_DIR}/orxonox/${CMAKE_CFG_INTDIR} | 
|---|
 | 85 | ) | 
|---|
 | 86 |  | 
|---|
 | 87 |  | 
|---|
 | 88 | ################ Sub Directories ################ | 
|---|
 | 89 |  | 
|---|
 | 90 | # Third party libraries | 
|---|
| [1505] | 91 | ADD_SUBDIRECTORY(tolua) | 
|---|
 | 92 |  | 
|---|
| [2710] | 93 | # Include CEGUILua if not requested otherwise | 
|---|
 | 94 | IF(CEGUILUA_USE_INTERNAL_LIBRARY) | 
|---|
 | 95 |   IF(NOT IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ceguilua/ceguilua-${CEGUI_VERSION}) | 
|---|
 | 96 |     MESSAGE(FATAL_ERROR "CEGUILua version not found in src folder. Update list of supported versions in LibraryConfig.cmake!") | 
|---|
 | 97 |   ENDIF() | 
|---|
| [1854] | 98 |  | 
|---|
| [2710] | 99 |   INCLUDE_DIRECTORIES(ceguilua/ceguilua-${CEGUI_VERSION}) | 
|---|
 | 100 |   ADD_SUBDIRECTORY(ceguilua) | 
|---|
 | 101 | ENDIF() | 
|---|
| [1810] | 102 |  | 
|---|
| [2710] | 103 | ADD_SUBDIRECTORY(bullet) | 
|---|
 | 104 | ADD_SUBDIRECTORY(cpptcl) | 
|---|
 | 105 | ADD_SUBDIRECTORY(ogreceguirenderer) | 
|---|
 | 106 | ADD_SUBDIRECTORY(ois) | 
|---|
 | 107 | ADD_SUBDIRECTORY(tinyxml) | 
|---|
| [1810] | 108 |  | 
|---|
| [2710] | 109 | # Orxonox code | 
|---|
| [1505] | 110 | ADD_SUBDIRECTORY(util) | 
|---|
 | 111 | ADD_SUBDIRECTORY(core) | 
|---|
 | 112 | ADD_SUBDIRECTORY(network) | 
|---|
 | 113 | ADD_SUBDIRECTORY(orxonox) | 
|---|