1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
cmake_minimum_required(VERSION 2.6)
project(plee-the-bear)
set( GAME_ROOT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" )
get_directory_property(
BEAR_ENGINE_INSTALL_EXECUTABLE_DIR DIRECTORY ../bear-engine
DEFINITION BEAR_ENGINE_INSTALL_EXECUTABLE_DIR
)
get_directory_property(
BEAR_ENGINE_INSTALL_LIBRARY_DIR DIRECTORY ../bear-engine
DEFINITION BEAR_ENGINE_INSTALL_LIBRARY_DIR
)
# where the game resources are installed
if( NOT PTB_INSTALL_DATA_DIR )
set( PTB_INSTALL_DATA_DIR share/plee-the-bear )
endif( NOT PTB_INSTALL_DATA_DIR )
# where the game executables are installed
if( NOT PTB_INSTALL_EXECUTABLE_DIR )
set( PTB_INSTALL_EXECUTABLE_DIR bin )
endif( NOT PTB_INSTALL_EXECUTABLE_DIR )
# where the game libraries (the items) are installed
if( NOT PTB_INSTALL_CUSTOM_LIBRARY_DIR )
set( PTB_INSTALL_CUSTOM_LIBRARY_DIR lib )
endif( NOT PTB_INSTALL_CUSTOM_LIBRARY_DIR )
# Directories where the executable and libraries are built
set( EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/bin" )
set( LIBRARY_OUTPUT_PATH "${EXECUTABLE_OUTPUT_PATH}" )
# common flags
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
#-------------------------------------------------------------------------------
# check SDL
include( FindSDL )
if( NOT SDL_FOUND )
message( FATAL_ERROR "SDL lbrary must be installed." )
else( NOT SDL_FOUND )
#-----------------------------------------------------------------------------
# Include directories for SDL
include_directories(
${SDL_INCLUDE_DIR}
)
endif( NOT SDL_FOUND )
#-------------------------------------------------------------------------------
# check SDL::mixer
include( FindSDL_mixer )
if( NOT SDLMIXER_FOUND )
message( FATAL_ERROR "SDL_mixer lbrary must be installed." )
else( NOT SDLMIXER_FOUND )
#-----------------------------------------------------------------------------
# Include directories for all these libraries
include_directories(
${SDLMIXER_INCLUDE_DIR}
)
endif( NOT SDLMIXER_FOUND )
#-------------------------------------------------------------------------------
# various libraries
#-------------------------------------------------------------------------------
# Claw
find_package( libclaw 1.7.0 )
#-------------------------------------------------------------------------------
# Include directories for Claw
include_directories(
${CLAW_INCLUDE_DIRECTORY}
${CLAW_GRAPHIC_INCLUDE_DIRECTORY}
)
#-------------------------------------------------------------------------------
# Link directories for Claw
link_directories(
${CLAW_LINK_DIRECTORY}
${CLAW_GRAPHIC_LINK_DIRECTORY}
)
#-------------------------------------------------------------------------------
# Boost
include(FindBoost)
find_package( Boost 1.35 REQUIRED COMPONENTS signals)
if( NOT Boost_FOUND )
message( FATAL_ERROR
"You must have boost::filesystem and boost::thread libraries installed (at least 1.35)" )
endif( NOT Boost_FOUND )
#-------------------------------------------------------------------------------
# Include directories for Boost
include_directories(
${Boost_INCLUDE_DIR}
)
#-------------------------------------------------------------------------------
# Link directories for Boost
link_directories(
${Boost_LIBRARY_DIRS}
)
#-------------------------------------------------------------------------------
# Link directories for the game
link_directories(
${LIBRARY_OUTPUT_PATH}
)
#-------------------------------------------------------------------------------
if( BEAR_ENGINE_INCLUDE_DIRECTORY )
include_directories( "${BEAR_ENGINE_INCLUDE_DIRECTORY}" )
else( BEAR_ENGINE_INCLUDE_DIRECTORY )
include_directories( ../bear-engine/core/src )
endif( BEAR_ENGINE_INCLUDE_DIRECTORY )
if( BEAR_ITEMS_INCLUDE_DIRECTORY )
include_directories( "${BEAR_ITEMS_INCLUDE_DIRECTORY}" )
else( BEAR_ITEMS_INCLUDE_DIRECTORY )
include_directories( ../bear-engine/lib/src )
endif( BEAR_ITEMS_INCLUDE_DIRECTORY )
#-------------------------------------------------------------------------------
subdirs(
src
data
desktop
)
install(
DIRECTORY "item-description"
DESTINATION "share/bear-factory/plee-the-bear"
FILE_PERMISSIONS OWNER_READ OWNER_WRITE
GROUP_READ
WORLD_READ
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE
PATTERN ".svn" EXCLUDE
PATTERN "*~" EXCLUDE
)
if(UNIX)
IF(APPLE)
SET(DYLIB_EXTENSION "dylib")
ELSE(APPLE)
SET(DYLIB_EXTENSION "so")
ENDIF(APPLE)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/release/plee-the-bear.in"
"${CMAKE_CURRENT_BINARY_DIR}/release/plee-the-bear"
IMMEDIATE @ONLY
)
install( FILES "${CMAKE_CURRENT_BINARY_DIR}/release/plee-the-bear"
DESTINATION ${PTB_INSTALL_EXECUTABLE_DIR}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
GROUP_READ GROUP_EXECUTE
WORLD_READ WORLD_EXECUTE )
endif(UNIX)
|