Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/resource2/media/CMakeLists.txt @ 5641

Last change on this file since 5641 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)

File size: 2.8 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 #    Finds the external media directory and configures the media installation.
24 #    Default search paths are: ../../media and ../media_extern
25 #
26
27# For dev runs we've got two media directory. The one from the other repository root folder
28# is called EXTERNAL_MEDIA
29SET(MEDIA_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
30SET(MEDIA_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
31
32# Specify media directory
33GET_FILENAME_COMPONENT(_search_path_1 ${CMAKE_SOURCE_DIR}/../${DEFAULT_MEDIA_PATH} ABSOLUTE)
34FIND_PATH(EXTERNAL_MEDIA_DIRECTORY resources.oxr
35  PATHS
36    ${CMAKE_SOURCE_DIR}/media_extern
37    ${_search_path_1}
38  NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_SYSTEM_PATH
39)
40
41IF(NOT EXTERNAL_MEDIA_DIRECTORY)
42  MESSAGE(STATUS "Warning: External media directory not found. If you want to compile while downloading the media files, you will have to recompile about four files afterwards and relink everything. \\n You can specify your own folder with the MEDIA_DIRECTORY variable. Default location for the path is orxonox_root/media_extern")
43  # Temporary override to the default location.
44  SET(EXTERNAL_MEDIA_DIRECTORY ${CMAKE_SOURCE_DIR}/media_extern)
45ENDIF()
46
47
48################ Installation #################
49
50# Internal directory
51INSTALL(
52  DIRECTORY ${MEDIA_DIRECTORY}/
53  DESTINATION ${MEDIA_INSTALL_DIRECTORY}
54  REGEX "\\.svn$|_svn$|CMakeLists.txt|InstallScript.cmake" EXCLUDE
55)
56# External directory
57INSTALL(
58  DIRECTORY ${EXTERNAL_MEDIA_DIRECTORY}/
59  DESTINATION ${MEDIA_INSTALL_DIRECTORY}
60  REGEX "\\.svn$|_svn$|resources\\.oxr" EXCLUDE
61)
62# Configure the install scripts (variables not available during installation)
63CONFIGURE_FILE(MediaInstallScript.cmake ${CMAKE_CURRENT_BINARY_DIR}/MediaInstallScript.cmake @ONLY)
64# Join both resources.oxr files
65INSTALL(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/MediaInstallScript.cmake)
Note: See TracBrowser for help on using the repository browser.