Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/libraries/src/orxonox/CMakeLists.txt @ 5613

Last change on this file since 5613 was 5613, checked in by landauf, 15 years ago

replaced the old orxonox executable with an orxonox library. linked that library into the new orxonox executable which only contains one file (Orxonox.cc).

  • Property svn:eol-style set to native
File size: 3.2 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
20SET_SOURCE_FILES(ORXONOX_SRC_FILES
21  CameraManager.cc
22  LevelManager.cc
23  Main.cc
24  PawnManager.cc
25  PlayerManager.cc
26)
27ADD_SUBDIRECTORY(gamestates)
28ADD_SUBDIRECTORY(interfaces)
29ADD_SUBDIRECTORY(objects)
30ADD_SUBDIRECTORY(overlays)
31ADD_SUBDIRECTORY(sound)
32ADD_SUBDIRECTORY(tools)
33
34# Translate argument
35IF(ORXONOX_USE_WINMAIN)
36  SET(ORXONOX_WIN32 WIN32)
37ENDIF()
38
39ORXONOX_ADD_LIBRARY(orxonox
40  FIND_HEADER_FILES
41  TOLUA_FILES
42    LevelManager.h
43    objects/pickup/BaseItem.h
44    objects/pickup/PickupInventory.h
45    objects/quest/QuestDescription.h
46    objects/quest/QuestManager.h
47  DEFINE_SYMBOL
48    "ORXONOX_SHARED_BUILD"
49  PCH_FILE
50    OrxonoxPrecompiledHeaders.h
51  LINK_LIBRARIES
52    ${Boost_FILESYSTEM_LIBRARY}
53    ${Boost_SYSTEM_LIBRARY} # Filesystem dependency
54    ${Boost_THREAD_LIBRARY}
55    ${Boost_DATE_TIME_LIBRARY} # Thread dependency
56    ${OGRE_LIBRARY}
57    ${OPENAL_LIBRARY}
58    ${ALUT_LIBRARY}
59    ${VORBISFILE_LIBRARY}
60    ${VORBIS_LIBRARY}
61    ${OGG_LIBRARY}
62    tinyxml++_orxonox
63    tolua++_orxonox
64    bullet_orxonox
65    util
66    core
67    network
68  SOURCE_FILES ${ORXONOX_SRC_FILES}
69)
70
71ORXONOX_ADD_EXECUTABLE(orxonox-main
72  FIND_HEADER_FILES
73  # When defined as WIN32 this removes the console window on Windows
74  ${ORXONOX_WIN32}
75  LINK_LIBRARIES
76    orxonox
77  SOURCE_FILES
78    Orxonox.cc
79  OUTPUT_NAME orxonox
80)
81
82GET_TARGET_PROPERTY(_exec_loc orxonox-main LOCATION)
83GET_FILENAME_COMPONENT(_exec_name ${_exec_loc} NAME)
84SET(ORXONOX_EXECUTABLE_NAME ${_exec_name} CACHE INTERNAL "")
85
86
87# When using Visual Studio we want to use the output directory as working
88# directory and we also want to specify where the external dlls
89# (lua, ogre, etc.) are. The problem hereby is that these information cannot
90# be specified in CMake because they are not stored in the actual project file.
91# This workaround will create a configured *.vcproj.user file that holds the
92# right values. When starting the solution for the first time,
93# these get written to the *vcproj.yourPCname.yourname.user
94IF(MSVC)
95  IF(CMAKE_CL_64)
96    SET(MSVC_PLATFORM "x64")
97  ELSE()
98    SET(MSVC_PLATFORM "Win32")
99  ENDIF()
100  STRING(REGEX REPLACE "^Visual Studio ([0-9][0-9]?) .*$" "\\1"
101         VISUAL_STUDIO_VERSION_SIMPLE "${CMAKE_GENERATOR}")
102  CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/orxonox.vcproj.user.in" "${CMAKE_CURRENT_BINARY_DIR}/orxonox.vcproj.user")
103ENDIF(MSVC)
Note: See TracBrowser for help on using the repository browser.