Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/trunk/data/CMakeLists.txt @ 9699

Last change on this file since 9699 was 8531, checked in by adrfried, 13 years ago

skip external data directory if it was not found

  • this is useful if the external data gets installed with a separate package.
  • also fixed the exclude regexp.
  • 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 #    Finds the external data directory and configures the data installation.
24 #    Default search paths are: ../../data and ../data_extern
25 #
26
27# For dev runs we've got two data directories. The one from the other repository root folder
28# is called EXTERNAL_DATA
29SET(DATA_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
30SET(DATA_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
31
32# Specify data directory
33GET_FILENAME_COMPONENT(_search_path_1 ${CMAKE_SOURCE_DIR}/../data_extern ABSOLUTE)
34FIND_PATH(EXTERNAL_DATA_DIRECTORY resources.oxr
35  PATHS
36    ${CMAKE_SOURCE_DIR}/data_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_DATA_DIRECTORY)
42  MESSAGE(STATUS "Warning: External data directory not found. If you want to compile while downloading the data files, you will have to recompile about four files afterwards and relink everything.")
43  MESSAGE(STATUS "You can specify your own folder with the EXTERNAL_DATA_DIRECTORY variable. Default location for the path is orxonox_root/data_extern")
44  # Temporary override to the default location.
45  SET(EXTERNAL_DATA_DIRECTORY ${CMAKE_SOURCE_DIR}/data_extern)
46ENDIF()
47
48
49################ Installation #################
50
51# Internal directory
52INSTALL(
53  DIRECTORY ${DATA_DIRECTORY}/
54  DESTINATION ${DATA_INSTALL_DIRECTORY}
55  REGEX "\\.svn$|_svn$|CMakeLists.txt|InstallScript.cmake" EXCLUDE
56)
57# External directory
58# User may want to install separately, ignore if not found.
59IF(EXISTS ${EXTERNAL_DATA_DIRECTORY})
60  INSTALL(
61    DIRECTORY ${EXTERNAL_DATA_DIRECTORY}/
62    DESTINATION ${DATA_INSTALL_DIRECTORY}
63    REGEX "\\.svn$|_svn$" EXCLUDE
64  )
65ENDIF()
Note: See TracBrowser for help on using the repository browser.