Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/resource2/bin/CMakeLists.txt @ 5706

Last change on this file since 5706 was 5641, checked in by rgrieder, 15 years ago

Prepared build system for an external media directory.
This revision only runs in console mode! (tcl files working again)

  • 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)
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.