Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

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

Fixed two bugs with the run script. Works now on tardis, not tested on MinGW.

  • Property svn:eol-style set to native
File size: 2.5 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  ELSE(UNIX)
61    SET(RUN_SCRIPT run)
62  ENDIF(WIN32)
63  IF (NOT EXISTS ${CMAKE_SOURCE_DIR}/${RUN_SCRIPT})
64    CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/${RUN_SCRIPT} ${CMAKE_SOURCE_DIR}/${RUN_SCRIPT} @ONLY)
65  ENDIF (NOT EXISTS ${CMAKE_SOURCE_DIR}/${RUN_SCRIPT})
66ENDIF(NOT CMAKE_CONFIGURATION_TYPES)
Note: See TracBrowser for help on using the repository browser.