1 cmake_minimum_required(VERSION 2.8)
5 if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
6 set (CMAKE_CXX_FLAGS "-fPIC -DBT_USE_DOUBLE_PRECISION ${CMAKE_CXX_FLAGS}")
10 set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/tools/cmake;${CMAKE_MODULE_PATH}")
12 set(FRONTENDGLINC "-lGL")
16 if (CMAKE_BUILD_TYPE STREQUAL "")
17 # CMake defaults to leaving CMAKE_BUILD_TYPE empty. This screws up
18 # differentiation between debug and release builds.
19 set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build, options are: None (CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel." FORCE)
22 find_package(OGRE REQUIRED)
25 message(SEND_ERROR "Failed to find OGRE.")
28 set (OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_Overlay_LIBRARIES})
31 find_package(wxWidgets COMPONENTS core base gl REQUIRED)
34 find_package(FMOD REQUIRED)
38 find_package(GTK2 COMPONENTS gtk REQUIRED)
42 find_package(Bullet REQUIRED)
45 find_package(Caelum REQUIRED)
47 file(GLOB FRONTEND_FILES
55 file(GLOB SVNREV_FILES
59 file(GLOB OGREBULLET_COLL_FILES
60 ogrebullet/Collisions/src/*.cpp
61 ogrebullet/Collisions/src/Debug/*.cpp
62 ogrebullet/Collisions/src/Shapes/*.cpp
63 ogrebullet/Collisions/src/Utils/*.cpp
66 file (GLOB OGREBULLET_DYN_FILES
67 ogrebullet/Dynamics/src/*.cpp
68 ogrebullet/Dynamics/src/Constraints/*.cpp
69 ogrebullet/Dynamics/src/Prefab/*.cpp
72 include_directories( ${OIS_INCLUDE_DIRS}
74 ${OGRE_Overlay_INCLUDE_DIRS}
77 ${BULLET_INCLUDE_DIRS}
78 ${Caelum_INCLUDE_DIRS}
80 ogrebullet/Collisions/include
81 ogrebullet/Collisions/include/Debug
82 ogrebullet/Collisions/include/Shapes
83 ogrebullet/Collisions/include/Utils
84 ogrebullet/Dynamics/include
85 ogrebullet/Dynamics/include/Constraints
86 ogrebullet/Dynamics/include/Prefab
89 include(${wxWidgets_USE_FILE})
92 add_executable(svnrev/svnrev ${SVNREV_FILES})
94 add_custom_target(MakeRev ALL ./svnrev.sh)
95 add_dependencies(MakeRev svnrev/svnrev)
99 add_library(OgreBulletCol SHARED ${OGREBULLET_COLL_FILES})
100 add_library(OgreBulletDyn SHARED ${OGREBULLET_DYN_FILES})
103 add_library(SBS SHARED ${SBS_FILES})
106 add_executable(skyscraper ${FRONTEND_FILES})
108 target_link_libraries(OgreBulletCol ${OGRE_LIBRARIES} ${BULLET_LIBRARIES})
109 target_link_libraries(OgreBulletDyn OgreBulletCol ${OGRE_LIBRARIES} ${BULLET_LIBRARIES})
111 target_link_libraries(SBS OgreBulletCol OgreBulletDyn ${OGRE_LIBRARIES} ${OIS_LIBRARIES} ${FMOD_LIBRARY})
113 target_link_libraries(skyscraper SBS OgreBulletCol OgreBulletDyn ${OGRE_LIBRARIES} ${OIS_LIBRARIES} ${wxWidgets_LIBRARIES} ${FMOD_LIBRARY} ${GTK2_LIBRARIES} ${Caelum_LIBRARIES} ${FRONTENDGLINC})