Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/bin/CMakeLists.txt @ 6514

Last change on this file since 6514 was 5929, checked in by rgrieder, 15 years ago

Merged core5 branch back to the trunk.
Key features include clean level unloading and an extended XML event system.

Two important notes:
Delete your keybindings.ini files! * or you will still get parser errors when loading the key bindings.
Delete build_dir/lib/modules/libgamestates.module! * or orxonox won't start.
Best thing to do is to delete the build folder ;)

  • Property svn:eol-style set to native
File size: 3.0 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 #    Creates run scripts in the root directory of the build tree and
24 #    the runtime output directory.
25 #
26
27# Create run scripts for Windows to manually add the DLL path when executing
28SET(RUN_SCRIPTS run standalone client1 client2 server dedicated dedicatedClient)
29IF(WIN32)
30  FOREACH(_script ${RUN_SCRIPTS})
31    LIST(REMOVE_ITEM RUN_SCRIPTS ${_script})
32    LIST(APPEND RUN_SCRIPTS ${_script}.bat)
33  ENDFOREACH(_script)
34ENDIF()
35# Also copy vld.ini (visual leak detector config) for MSVC
36IF(MSVC)
37  LIST(APPEND RUN_SCRIPTS vld.ini)
38ENDIF()
39
40IF(NOT CMAKE_CONFIGURATION_TYPES)
41  SET(_subdirs .)
42  SEt(_default_subdir .)
43ELSE()
44  SET(_subdirs ${CMAKE_CONFIGURATION_TYPES})
45  SEt(_default_subdir) # No default subdir
46ENDIF()
47STRING(REPLACE "/" "\\" RUNTIME_LIBRARY_DIRECTORY_WINDOWS ${RUNTIME_LIBRARY_DIRECTORY})
48FOREACH(_subdir ${_subdirs})
49  GET_FILENAME_COMPONENT(CURRENT_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_subdir} ABSOLUTE)
50
51  # Note: Do not use FILE(TO_NATIVE_PATH) because it doesn't work for MinGW
52  STRING(REGEX REPLACE "^([A-Z]\\:)\\/.*$" "\\1" WINDOWS_DRIVE_CHANGE ${CURRENT_RUNTIME_DIR})
53  STRING(REPLACE "/" "\\" CURRENT_RUNTIME_DIR_WINDOWS ${CURRENT_RUNTIME_DIR})
54
55  FOREACH(_script ${RUN_SCRIPTS})
56    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CURRENT_RUNTIME_DIR}/${_script} @ONLY)
57    IF(_subdir STREQUAL _default_subdir)
58      # Convenience script to be used when sitting in the binary directory. Does nothing for MSVC
59      CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CMAKE_BINARY_DIR}/${_script} @ONLY)
60    ENDIF()
61  ENDFOREACH(_script)
62
63  # In order to evaluate at run time whether it is a dev build in the build tree,
64  # we plant a special file
65  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/orxonox_dev_build.keep_me ${CURRENT_RUNTIME_DIR}/orxonox_dev_build.keep_me)
66ENDFOREACH(_subdir)
67
68
69# Make a symlink to be able to run from the root directory when installing copyable on Unix
70IF(UNIX AND INSTALL_COPYABLE)
71  INSTAll(CODE "EXECUTE_PROCESS(COMMAND ln -sf ${RUNTIME_INSTALL_DIRECTORY}/${ORXONOX_EXECUTABLE_NAME} ${CMAKE_INSTALL_PREFIX}/orxonox)")
72ENDIF()
Note: See TracBrowser for help on using the repository browser.