Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem3/bin/CMakeLists.txt @ 2709

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

Added run scripts for client1, client2 and server.
They will be copied to the same locations as the original run scripts.
Furthermore specifying "—directory foobar" to the command line will put the config and log files in the subfolder foobar.
—> server goes to config/server, etc.
That should avoid conflicts when using the same logfile from multiple executables.

  • Property svn:eol-style set to native
File size: 2.6 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
28IF(WIN32)
29  SET(RUN_SCRIPTS run.bat client1.bat client2.bat server.bat)
30ELSEIF(UNIX)
31  SET(RUN_SCRIPTS run client1 client1 server)
32ENDIF()
33
34IF(NOT CMAKE_CONFIGURATION_TYPES)
35  SET(_subdirs .)
36  SEt(_default_subdir .)
37ELSE()
38  SET(_subdirs ${CMAKE_CONFIGURATION_TYPES})
39  SEt(_default_subdir Debug)
40ENDIF()
41STRING(REPLACE "/" "\\" ORXONOX_RUNTIME_LIBRARY_DIRECTORY_WINDOWS ${ORXONOX_RUNTIME_LIBRARY_DIRECTORY})
42FOREACH(_subdir ${_subdirs})
43  GET_FILENAME_COMPONENT(CURRENT_RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_subdir} ABSOLUTE)
44
45  # Note: Do not use FILE(TO_NATIVE_PATH) because it doesn't work for MinGW
46  STRING(REGEX REPLACE "^([A-Z]\\:)\\/.*$" "\\1" WINDOWS_DRIVE_CHANGE ${CURRENT_RUNTIME_DIR})
47  STRING(REPLACE "/" "\\" CURRENT_RUNTIME_DIR_WINDOWS ${CURRENT_RUNTIME_DIR})
48
49  FOREACH(_script ${RUN_SCRIPTS})
50    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CURRENT_RUNTIME_DIR}/${_script} @ONLY)
51    IF(_subdir STREQUAL _default_subdir)
52      # Convenience script to be used when sitting in the binary directory. Defaults to Debug for msvc.
53      CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${_script}.in ${CMAKE_BINARY_DIR}/${_script} @ONLY)
54    ENDIF()
55  ENDFOREACH(_script)
56
57  # In order to evaluate at run time whether it is a dev build in the build tree,
58  # we plant a special file
59  CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/orxonox_dev_build.keep_me ${CURRENT_RUNTIME_DIR}/orxonox_dev_build.keep_me)
60ENDFOREACH(_subdir)
Note: See TracBrowser for help on using the repository browser.