Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/buildsystem2/bin/CMakeLists.txt @ 2595

Last change on this file since 2595 was 2595, checked in by rgrieder, 16 years ago

Windows hacks. Plus I forgot to change the directory in run.bat

  • Property svn:eol-style set to native
File size: 2.7 KB
Line 
1SET(COMMON_CONFIG_FILES
2  orxonox.ini
3  def_keybindings.ini
4  def_masterKeybindings.ini
5  disco.txt
6  irc.tcl
7  remote.tcl
8  telnet_server.tcl
9)
10
11IF(TARDIS)
12  # OGRE can't find fonts to display config screen on Tardis,
13  # so providing default config file here (bug).
14  SET(ADDITIONAL_CONFIG_FILES ogre.cfg)
15ENDIF(TARDIS)
16
17SET(CONFIG_FILES ${COMMON_CONFIG_FILES} ${ADDITIONAL_CONFIG_FILES})
18
19# Copy config files to all Visual Studio output directories
20IF(CMAKE_CONFIGURATION_TYPES)
21  SET(BUILD_CONFIGS ${CMAKE_CONFIGURATION_TYPES})
22ELSE(CMAKE_CONFIGURATION_TYPES)
23  SET(CONFIG_OUT_PATHS_REL ".")
24  SET(BUILD_CONFIGS ${CMAKE_BUILD_TYPE})
25ENDIF(CMAKE_CONFIGURATION_TYPES)
26
27FOREACH(_build_config ${BUILD_CONFIGS})
28  FOREACH(_file_name ${CONFIG_FILES})
29    # Is there an extra file in bin/Debug or bin/Release?
30    IF(${_build_config} MATCHES "Rel")
31      SET(_build_config_short "Release")
32    ELSE(${_build_config} MATCHES "Rel")
33      SET(_build_config_short "Debug")
34    ENDIF(${_build_config} MATCHES "Rel")
35    IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_build_config_short}/${_file_name})
36      SET(_in_file ${CMAKE_CURRENT_SOURCE_DIR}/${_build_config_short}/${_file_name})
37    ELSE(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_build_config_short}/${_file_name})
38      SET(_in_file ${CMAKE_CURRENT_SOURCE_DIR}/${_file_name})
39    ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_build_config_short}/${_file_name})
40
41    # Copy to the folder named like the build config for Visual Studio
42    IF(CMAKE_CONFIGURATION_TYPES)
43      SET(_out_file ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_build_config}/${_file_name})
44    ELSE(CMAKE_CONFIGURATION_TYPES)
45      SET(_out_file ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_file_name})
46    ENDIF(CMAKE_CONFIGURATION_TYPES)
47    # Only copy if target file doesn't exist. This may result in problems but
48    # otherwise we might delete the a user's config
49    IF (NOT EXISTS ${_out_file})
50      CONFIGURE_FILE(${_in_file} ${_out_file} @ONLY)
51    ENDIF (NOT EXISTS ${_out_file})
52  ENDFOREACH(_file_name)
53ENDFOREACH(_build_config)
54
55# Create a run script for both Windows and Linux in the source root path if
56# CMake is not used to create multi-configuration project files
57IF(NOT CMAKE_CONFIGURATION_TYPES)
58  IF(WIN32)
59    SET(RUN_SCRIPT run.bat)
60    STRING(REGEX REPLACE "^([A-Z]\\:)\\/.*$" "\\1" WINDOWS_DRIVE_CHANGE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
61    STRING(REPLACE "/" "\\" CMAKE_RUNTIME_OUTPUT_DIRECTORY_WINDOWS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
62  ELSE(UNIX)
63    SET(RUN_SCRIPT run)
64  ENDIF(WIN32)
65  IF (NOT EXISTS ${CMAKE_SOURCE_DIR}/${RUN_SCRIPT})
66    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${RUN_SCRIPT} ${CMAKE_SOURCE_DIR}/${RUN_SCRIPT} @ONLY)
67  ENDIF (NOT EXISTS ${CMAKE_SOURCE_DIR}/${RUN_SCRIPT})
68ENDIF(NOT CMAKE_CONFIGURATION_TYPES)
Note: See TracBrowser for help on using the repository browser.