162 lines
5.6 KiB
CMake
162 lines
5.6 KiB
CMake
CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
|
|
|
|
add_subdirectory(converter)
|
|
|
|
# project/binary name:
|
|
PROJECT(saxum)
|
|
|
|
# ACGL setup
|
|
SET(ACGL_OPENGL_SUPPORT CORE_32)
|
|
ADD_DEFINITIONS(-DACGL_OPENGL_VERSION_32)
|
|
ADD_DEFINITIONS(-DACGL_OPENGL_PROFILE_CORE)
|
|
# create the newest availabe OpenGL context, independent of the ACGL version:
|
|
#ADD_DEFINITIONS(-DGLFW_OPENGL_LATEST_VERSION)
|
|
|
|
###############################################################################
|
|
#
|
|
# Compiler settings, can be simpler if only one compiler should be used.
|
|
#
|
|
|
|
#Enable c++11
|
|
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
|
|
#on clang we need to find out the version to set stdlib if needed
|
|
# if clang version is less than 3.3 ( XCode 5.0) you need to set the stdlib
|
|
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
|
|
MESSAGE("Clangversion ${CLANG_VERSION_STRING}")
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
|
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
|
|
# using Visual Studio C++
|
|
endif()
|
|
|
|
# enable warnings
|
|
IF(MSVC)
|
|
# for msvc also set multiple processors
|
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /W3")
|
|
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /W3")
|
|
ELSE(MSVC)
|
|
ADD_DEFINITIONS(-Wall)
|
|
ENDIF(MSVC)
|
|
ADD_DEFINITIONS(-DNO_SPACE_NAVIGATOR_SUPPORT)
|
|
|
|
#
|
|
#
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
#
|
|
# Settings for the app.
|
|
#
|
|
#
|
|
# Lets the binary get written to a shared folder (which can be ignored by git).
|
|
# Will also set the run directory for QTCreator:
|
|
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -DSAXUM_DEBUG -g")
|
|
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -DSAXUM_DEBUG -g")
|
|
|
|
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -DNDEBUG")
|
|
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -DNDEBUG")
|
|
|
|
set(dir ${CMAKE_CURRENT_SOURCE_DIR}/binaries)
|
|
set(EXECUTABLE_OUTPUT_PATH ${dir} CACHE PATH "Build directory" FORCE)
|
|
|
|
# source and header files
|
|
FILE(GLOB SOURCE_FILES "${CMAKE_SOURCE_DIR}/game/*.cc")
|
|
|
|
FILE(GLOB HEADER_FILES "${CMAKE_SOURCE_DIR}/game/*.hh")
|
|
|
|
# tinyxml
|
|
|
|
FILE(GLOB HEADER_FILES_TINYXML "${CMAKE_SOURCE_DIR}/extern/tinyxml/*.hh")
|
|
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_TINYXML})
|
|
FILE(GLOB SOURCE_FILES_TINYXML "${CMAKE_SOURCE_DIR}/extern/tinyxml/*.cc")
|
|
SET(SOURCE_FILES ${SOURCE_FILES} ${SOURCE_FILES_TINYXML})
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/tinyxml)
|
|
#
|
|
#
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
#
|
|
# all we need for ACGL:
|
|
#
|
|
INCLUDE(${CMAKE_SOURCE_DIR}/extern/acgl/CMakeListsStaticInclude.txt)
|
|
#
|
|
#
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
#
|
|
# GLFW (and some other linker flags)
|
|
#
|
|
|
|
OPTION(GLFW_BUILD_DOCS OFF)
|
|
OPTION(GLFW_BUILD_TESTS OFF)
|
|
OPTION(GLFW_BUILD_EXAMPLES OFF)
|
|
OPTION(GLFW_INSTALL OFF)
|
|
|
|
FILE(GLOB_RECURSE HEADER_FILES_GLFW "${CMAKE_SOURCE_DIR}/extern/glfw/include/*.h")
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/glfw/include)
|
|
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_GLFW})
|
|
|
|
add_subdirectory(extern/glfw ${CMAKE_SOURCE_DIR}/extern/glfw)
|
|
SET(LIBRARIES glfw ${GLFW_LIBRARIES})
|
|
|
|
|
|
#
|
|
# MacOS X:
|
|
#
|
|
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
SET(LIBRARIES ${LIBRARIES} -Wl,-framework,Cocoa -Wl,-framework,OpenGL,-framework,IOKit)
|
|
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
|
|
|
#
|
|
# Linux:
|
|
#
|
|
IF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
SET(LIBRARIES ${LIBRARIES} -lXrandr -lGL -lXi -pthread -lm -lX11 -lXxf86vm -ldl)
|
|
ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
#
|
|
#
|
|
#
|
|
###############################################################################
|
|
|
|
FILE(GLOB_RECURSE HEADER_FILES_BULLET ${CMAKE_SOURCE_DIR}/extern/bullet/src/*.h)
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/bullet/src)
|
|
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_BULLET})
|
|
|
|
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libBulletDynamics.a)
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libBulletCollision.a)
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libLinearMath.a)
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/lib/libBulletSoftBody.a)
|
|
SET (LIBRARIES -static ${LIBRARIES} -static-libgcc -static-libstdc++)
|
|
else()
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletDynamics/libBulletDynamics.a)
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletCollision/libBulletCollision.a)
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/LinearMath/libLinearMath.a)
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/bullet/build/src/BulletSoftBody/libBulletSoftBody.a)
|
|
endif()
|
|
|
|
# Include Lua
|
|
|
|
FILE(GLOB_RECURSE HEADER_FILES_LUA ${CMAKE_SOURCE_DIR}/extern/lua/src/*.h)
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/lua/src)
|
|
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_LUA})
|
|
|
|
FILE(GLOB_RECURSE HEADER_FILES_LUA_BRIDGE ${CMAKE_SOURCE_DIR}/extern/luabridge/*.h)
|
|
|
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/extern/luabridge)
|
|
SET(HEADER_FILES ${HEADER_FILES} ${HEADER_FILES_LUA_BRIDGE})
|
|
|
|
SET (LIBRARIES ${LIBRARIES} ${CMAKE_SOURCE_DIR}/extern/lua/src/liblua.a)
|
|
|
|
|
|
ADD_EXECUTABLE(saxum ${SOURCE_FILES} ${HEADER_FILES})
|
|
TARGET_LINK_LIBRARIES(saxum ${LIBRARIES} ${CMAKE_DL_LIBS})
|