154 lines
4.4 KiB
CMake
154 lines
4.4 KiB
CMake
PROJECT ( fysxasteroids C CXX )
|
|
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
|
|
|
|
LIST( APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake )
|
|
|
|
# Perform the proper linking
|
|
SET (CMAKE_SKIP_BUILD_RPATH FALSE)
|
|
SET (CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
|
|
SET (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
|
SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
|
|
FIND_PACKAGE (SDL REQUIRED)
|
|
FIND_PACKAGE (SDL_net REQUIRED)
|
|
|
|
INCLUDE_DIRECTORIES (
|
|
engine/
|
|
asteroids/
|
|
include/
|
|
engine/libraries/mathlib/
|
|
engine/libraries/coll2d/include
|
|
engine/libraries/oglft/liboglft
|
|
${FREETYPE2_INCLUDE_DIR}
|
|
)
|
|
|
|
ADD_SUBDIRECTORY ( engine )
|
|
|
|
SET ( ASTEROIDS_SOURCES
|
|
asteroids/AsteroidEntity.cc
|
|
asteroids/Controller.cc
|
|
asteroids/ControllerCommands.cc
|
|
asteroids/EntityFactory.cc
|
|
asteroids/EnumToString.cc
|
|
asteroids/Game.cc
|
|
asteroids/main.cc
|
|
asteroids/Model.cc
|
|
asteroids/ModelCommands.cc
|
|
asteroids/Physics.cc
|
|
asteroids/RocketEntity.cc
|
|
asteroids/ShipEntity.cc
|
|
asteroids/View.cc
|
|
)
|
|
|
|
SET ( ASTEROIDSEDITOR_SOURCES
|
|
asteroids/AsteroidEntity.cc
|
|
asteroids/Controller.cc
|
|
asteroids/ControllerCommands.cc
|
|
asteroids/EntityFactory.cc
|
|
asteroids/EnumToString.cc
|
|
asteroids/Game.cc
|
|
asteroids/editormain.cc
|
|
asteroids/Model.cc
|
|
asteroids/ModelCommands.cc
|
|
asteroids/Physics.cc
|
|
asteroids/RocketEntity.cc
|
|
asteroids/ShipEntity.cc
|
|
asteroids/View.cc
|
|
)
|
|
|
|
INCLUDE_DIRECTORIES (
|
|
${SDLMIXER_INCLUDE_DIRS}
|
|
${SDLNET_INCLUDE_DIRS}
|
|
)
|
|
|
|
ADD_EXECUTABLE ( fysxasteroids ${ASTEROIDS_SOURCES} )
|
|
ADD_EXECUTABLE ( fysxasteroidseditor ${ASTEROIDSEDITOR_SOURCES} )
|
|
|
|
TARGET_LINK_LIBRARIES ( fysxasteroids
|
|
Engine
|
|
oglft
|
|
)
|
|
|
|
TARGET_LINK_LIBRARIES ( fysxasteroidseditor
|
|
Engine
|
|
oglft
|
|
)
|
|
|
|
SET ( DATA_DIR
|
|
data/
|
|
)
|
|
|
|
SET ( DATA_FILES
|
|
asteroids.rc
|
|
config.rc
|
|
)
|
|
|
|
INSTALL (TARGETS fysxasteroids
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
|
|
INSTALL (TARGETS fysxasteroidseditor
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
)
|
|
|
|
INSTALL (DIRECTORY ${DATA_DIR}
|
|
DESTINATION share/fysxasteroids/data
|
|
)
|
|
|
|
INSTALL (FILES ${DATA_FILES}
|
|
DESTINATION share/fysxasteroids
|
|
)
|
|
|
|
INSTALL (FILES fysxasteroids.desktop fysxasteroidseditor.desktop
|
|
DESTINATION /usr/share/applications
|
|
)
|
|
|
|
# CPack specific stuff
|
|
# INCLUDE(InstallRequiredSystemLibraries)
|
|
|
|
SET(CPACK_PACKAGE_NAME "fysxasteroids")
|
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A fun and good looking clone of the popular 80's game")
|
|
SET(CPACK_PACKAGE_VENDOR "Martin Felis <martin@fysx.org>")
|
|
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
|
|
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING.txt")
|
|
SET(CPACK_PACKAGE_VERSION_MAJOR "0")
|
|
SET(CPACK_PACKAGE_VERSION_MINOR "9")
|
|
SET(CPACK_PACKAGE_VERSION_PATCH "8-rc2")
|
|
# SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
|
|
SET(CPACK_PACKAGE_CONTACT "Martin Felis <martin@fysx.org>")
|
|
|
|
# Add defines for the version
|
|
SET (VERSION_STRING
|
|
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
|
ADD_DEFINITIONS(-DFYSXASTEROIDS_VERSION=\"${VERSION_STRING}\")
|
|
|
|
IF(WIN32 AND NOT UNIX)
|
|
# There is a bug in NSI that does not handle full unix paths properly. Make
|
|
# sure there is at least one set of four (4) backlasshes.
|
|
SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/data/textures\\\\icon.bmp")
|
|
SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\fysxasteroids.exe")
|
|
SET(CPACK_NSIS_DISPLAY_NAME "fysxasteroids")
|
|
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\www.fysx.org")
|
|
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\www.fysx.org")
|
|
SET(CPACK_NSIS_CONTACT "martin@fysx.org")
|
|
SET(CPACK_NSIS_MODIFY_PATH ON)
|
|
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "/fysxdotorg")
|
|
ELSE(WIN32 AND NOT UNIX)
|
|
# Debian stuff
|
|
SET(CPACK_GENERATOR "DEB")
|
|
SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Martin Felis <martin@fysx.org>")
|
|
SET(CPACK_STRIP_FILES "bin/fysxasteroids" "bin/fysxasteroidseditor")
|
|
SET(CPACK_SOURCE_STRIP_FILES "TRUE")
|
|
SET(CPACK_DEBIAN_PACKAGE_SECTION "Games and Amusement")
|
|
|
|
SET(CPACK_DEBIAN_PACKAGE_DEPENDS
|
|
"libboost-filesystem1.40.0 (>= 1.40.0-1), libboost-system1.40.0 (>= 1.40.0-1), libc6 (>= 2.4), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libglu1-mesa | libglu1, libice6 (>= 1:1.0.0), libpng12-0 (>= 1.2.13-4), libsdl-net1.2 (>= 1.2.7), libsdl-mixer1.2 (>= 1.2.6), libsdl1.2debian (>= 1.2.10-1), libsm6, libstdc++6 (>= 4.4.0), libx11-6, libxext6, zlib1g (>= 1:1.1.4)"
|
|
)
|
|
|
|
ENDIF(WIN32 AND NOT UNIX)
|
|
SET(CPACK_PACKAGE_EXECUTABLES "fysxasteroids" "fysxasteroidseditor")
|
|
INCLUDE ( CPack )
|