Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/kicklib2/cmake/PackageConfigOSX.cmake @ 8740

Last change on this file since 8740 was 8349, checked in by youngk, 14 years ago

The Mac OS X dependency package is now downloaded and installed automatically, once cmake is run. Very convenient.

  • Property svn:eol-style set to native
File size: 3.5 KB
RevLine 
[5695]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:
[7582]23 #    OS X package configuration
[5695]24 #
[3167]25
[7582]26INCLUDE(CheckPackageVersion)
[5923]27
[8348]28CHECK_PACKAGE_VERSION(2.0)
[3167]29
[5695]30IF(NOT _INTERNAL_PACKAGE_MESSAGE)
31  MESSAGE(STATUS "Using library package for the dependencies.")
[8285]32 
33  # The following shell script sets the appropriate install_names for our libraries
34  # and therefore it must be run before anything else is set, dep-package-wise.
[8349]35  IF(NOT EXISTS ${CMAKE_BINARY_DIR}/dep_pack_install_log.keep_me)
36    MESSAGE(STATUS "Installing Mac OS X dependency package to current dir.")
37    EXECUTE_PROCESS(
38      COMMAND ${DEPENDENCY_PACKAGE_DIR}/install_dependencies.sh
39      WORKING_DIRECTORY ${DEPENDENCY_PACKAGE_DIR}
40      OUTPUT_FILE ${CMAKE_BINARY_DIR}/dep_pack_install_log.keep_me 
41    )
42  ENDIF()
[5695]43  SET(_INTERNAL_PACKAGE_MESSAGE 1 CACHE INTERNAL "Do not edit!" FORCE)
44ENDIF()
[3167]45
[8285]46SET(DEP_INCLUDE_DIR   ${DEPENDENCY_PACKAGE_DIR}/include)
47SET(DEP_LIBRARY_DIR   ${DEPENDENCY_PACKAGE_DIR}/lib)
48SET(DEP_BINARY_DIR    ${DEPENDENCY_PACKAGE_DIR}/bin)
[7591]49SET(DEP_FRAMEWORK_DIR ${DEPENDENCY_PACKAGE_DIR}/Library/Frameworks)
[7224]50
[8285]51# Sets the library and framwork paths for the FIND_LIBRARY commands
52SET(CMAKE_LIBRARY_PATH   ${DEP_LIBRARY_DIR})
53SET(CMAKE_FRAMEWORK_PATH ${DEP_FRAMEWORK_DIR})
[7582]54
[3167]55# Include paths and other special treatments
[8285]56SET(ENV{BOOST_ROOT}      ${DEPENDENCY_PACKAGE_DIR})
57SET(ENV{OGGDIR}          ${DEP_INCLUDE_DIR})
58SET(ENV{VORBISDIR}       ${DEP_INCLUDE_DIR})
59SET(ENV{OGRE_PLUGIN_DIR} ${DEP_BINARY_DIR})
[3167]60
[8285]61# Linking to OGRE requires linking to the boost threading library
62SET(OGRE_NEEDS_BOOST TRUE)
63
[8073]64# For OS X 10.5 we have to ship modified headers to make it compile
65# on gcc >= 4.2 (binaries stay the same)
66# Sets the library path for the FIND_LIBRARY
67IF(CMAKE_SYSTEM_VERSION STREQUAL "10.5")
68  SET(ENV{OPENALDIR} ${DEP_INCLUDE_DIR}/openal)
69ENDIF()
70
[3167]71### INSTALL ###
[3370]72
[5781]73# Tcl script library
[7582]74# TODO: How does this work on OS X?
[8285]75# Concerning all OS X install procedures: use CPACK
[7582]76#INSTALL(
77#  DIRECTORY ${DEP_LIBRARY_DIR}/tcl/
78#  DESTINATION lib/tcl
79#)
[5781]80
[7582]81# TODO: Install on OSX
82IF(FALSE)
[3167]83  ## DEBUG
84  # When installing a debug version, we really can't know which libraries
85  # are used in released mode because there might be deps of deps.
86  # --> Copy all of them, except the debug databases
87  INSTALL(
88    DIRECTORY ${DEP_BINARY_DIR}/
89    DESTINATION bin
90    CONFIGURATIONS Debug
91    REGEX "^.*\\.pdb$" EXCLUDE
92  )
93
94  ## RELEASE
95  # Try to filter out all the debug libraries. If the regex doesn't do the
96  # job anymore, simply adjust it.
97  INSTALL(
98    DIRECTORY ${DEP_BINARY_DIR}/
99    DESTINATION bin
100    CONFIGURATIONS Release RelWithDebInfo MinSizeRel
101    REGEX "_[Dd]\\.[a-zA-Z0-9+-]+$|-mt-gd-|^.*\\.pdb$" EXCLUDE
102  )
103ENDIF()
Note: See TracBrowser for help on using the repository browser.