Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/resource2/cmake/PackageConfig.cmake @ 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)

  • Property svn:eol-style set to native
File size: 3.7 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 #    General package configuration. Merely sets the include paths.
24 #    Library files are treated separately.
25 #
26
27# Check package version info
28# MAJOR: Interface breaking change somewhere (library version changed, etc.)
29# MINOR: Bug fix or small conformant changes
30SET(DEPENDENCY_VERSION_REQUIRED 3)
31IF(NOT EXISTS ${DEPENDENCY_PACKAGE_DIR}/version.txt)
32  SET(DEPENDENCY_VERSION 1.0)
33ELSE()
34  # Get version from file
35  FILE(READ ${DEPENDENCY_PACKAGE_DIR}/version.txt _file_content)
36  SET(_match)
37  STRING(REGEX MATCH "([0-9]+.[0-9]+)" _match ${_file_content})
38  IF(_match)
39    SET(DEPENDENCY_VERSION ${_match})
40  ELSE()
41    MESSAGE(FATAL_ERROR "The version.txt file in the dependency file has corrupt version information.")
42  ENDIF()
43ENDIF()
44
45INCLUDE(CompareVersionStrings)
46COMPARE_VERSION_STRINGS(${DEPENDENCY_VERSION} ${DEPENDENCY_VERSION_REQUIRED} _result)
47IF(NOT _result EQUAL 0)
48  MESSAGE(FATAL_ERROR "Your dependency package version is ${DEPENDENCY_VERSION}\n"
49          "Required version: ${DEPENDENCY_VERSION_REQUIRED}\n"
50          "You can get a new version from www.orxonox.net")
51ENDIF()
52
53MESSAGE(STATUS "Using library package for the dependencies.")
54
55# Include paths and other special treatments
56SET(ENV{ALUTDIR}               ${DEP_INCLUDE_DIR}/freealut)
57SET(ENV{BOOST_ROOT}            ${DEP_INCLUDE_DIR}/boost)
58SET(ENV{CEGUIDIR}              ${DEP_INCLUDE_DIR}/cegui)
59SET(ENV{DXSDK_DIR}             ${DEP_INCLUDE_DIR}/directx)
60SET(ENV{ENETDIR}               ${DEP_INCLUDE_DIR}/enet)
61SET(ENV{LUA_DIR}               ${DEP_INCLUDE_DIR}/lua)
62SET(ENV{OGGDIR}                ${DEP_INCLUDE_DIR}/libogg)
63SET(ENV{VORBISDIR}             ${DEP_INCLUDE_DIR}/libvorbis)
64SET(ENV{OGRE_HOME}             ${DEP_INCLUDE_DIR}/ogre)
65SET(ENV{OGRE_PLUGIN_DIR}       ${DEP_BINARY_DIR})
66SET(ENV{OPENALDIR}             ${DEP_INCLUDE_DIR}/openal)
67LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/tcl/include)
68LIST(APPEND CMAKE_INCLUDE_PATH ${DEP_INCLUDE_DIR}/zlib/include)
69
70### INSTALL ###
71
72# Tcl script library
73INSTALL(
74  DIRECTORY ${DEP_LIBRARY_DIR}/tcl/
75  DESTINATION lib/tcl
76)
77
78# On Windows, DLLs have to be in the executable folder, install them
79IF(WIN32 AND DEP_BINARY_DIR)
80  ## DEBUG
81  # When installing a debug version, we really can't know which libraries
82  # are used in released mode because there might be deps of deps.
83  # --> Copy all of them, except the debug databases
84  INSTALL(
85    DIRECTORY ${DEP_BINARY_DIR}/
86    DESTINATION bin
87    CONFIGURATIONS Debug
88    REGEX "^.*\\.pdb$" EXCLUDE
89  )
90
91  ## RELEASE
92  # Try to filter out all the debug libraries. If the regex doesn't do the
93  # job anymore, simply adjust it.
94  INSTALL(
95    DIRECTORY ${DEP_BINARY_DIR}/
96    DESTINATION bin
97    CONFIGURATIONS Release RelWithDebInfo MinSizeRel
98    REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE
99  )
100ENDIF()
Note: See TracBrowser for help on using the repository browser.