|
@@ -1,5 +1,16 @@
|
|
|
project(${TORQUE_APP_NAME})
|
|
|
|
|
|
+if(UNIX)
|
|
|
+ # default compiler flags
|
|
|
+ # force compile 32 bit
|
|
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
|
|
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
|
|
+
|
|
|
+ # for asm files
|
|
|
+ SET (CMAKE_ASM_NASM_OBJECT_FORMAT "elf")
|
|
|
+ ENABLE_LANGUAGE (ASM_NASM)
|
|
|
+endif()
|
|
|
+
|
|
|
# TODO: fmod support
|
|
|
|
|
|
###############################################################################
|
|
@@ -13,8 +24,12 @@ option(TORQUE_ADVANCED_LIGHTING "Advanced Lighting" ON)
|
|
|
mark_as_advanced(TORQUE_ADVANCED_LIGHTING)
|
|
|
option(TORQUE_BASIC_LIGHTING "Basic Lighting" ON)
|
|
|
mark_as_advanced(TORQUE_BASIC_LIGHTING)
|
|
|
-option(TORQUE_SFX_DirectX "DirectX Sound" ON)
|
|
|
-mark_as_advanced(TORQUE_SFX_DirectX)
|
|
|
+if(WIN32)
|
|
|
+ option(TORQUE_SFX_DirectX "DirectX Sound" ON)
|
|
|
+ mark_as_advanced(TORQUE_SFX_DirectX)
|
|
|
+else()
|
|
|
+ set(TORQUE_SFX_DirectX OFF)
|
|
|
+endif()
|
|
|
option(TORQUE_SFX_OPENAL "OpenAL Sound" ON)
|
|
|
mark_as_advanced(TORQUE_SFX_OPENAL)
|
|
|
option(TORQUE_HIFI "HIFI? support" OFF)
|
|
@@ -23,6 +38,13 @@ option(TORQUE_EXTENDED_MOVE "Extended move support" OFF)
|
|
|
mark_as_advanced(TORQUE_EXTENDED_MOVE)
|
|
|
option(TORQUE_NAVIGATION "Enable Navigation module" OFF)
|
|
|
#mark_as_advanced(TORQUE_NAVIGATION)
|
|
|
+if(WIN32)
|
|
|
+ option(TORQUE_OPENGL "Allow OpenGL render" OFF)
|
|
|
+ #mark_as_advanced(TORQUE_OPENGL)
|
|
|
+else()
|
|
|
+ set(TORQUE_OPENGL ON) # we need OpenGL to render on Linux/Mac
|
|
|
+ option(TORQUE_DEDICATED "Torque dedicated" OFF)
|
|
|
+endif()
|
|
|
|
|
|
#Oculus VR
|
|
|
option(TORQUE_OCULUSVR "Enable OCULUSVR module" OFF)
|
|
@@ -45,10 +67,18 @@ endif()
|
|
|
###############################################################################
|
|
|
# options
|
|
|
###############################################################################
|
|
|
+if(NOT MSVC) # handle single-configuration generator
|
|
|
+ set(TORQUE_BUILD_TYPE "Debug" CACHE STRING "Select one of Debug, Release and RelWithDebInfo")
|
|
|
+ set_property(CACHE TORQUE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo")
|
|
|
+
|
|
|
+ set(TORQUE_ADDITIONAL_LINKER_FLAGS "" CACHE STRING "Additional linker flags")
|
|
|
+ mark_as_advanced(TORQUE_ADDITIONAL_LINKER_FLAGS)
|
|
|
+endif()
|
|
|
+
|
|
|
option(TORQUE_MULTITHREAD "Multi Threading" ON)
|
|
|
mark_as_advanced(TORQUE_MULTITHREAD)
|
|
|
|
|
|
-option(TORQUE_DISABLE_MEMORY_MANAGER "Disable memory manager" OFF)
|
|
|
+option(TORQUE_DISABLE_MEMORY_MANAGER "Disable memory manager" ON)
|
|
|
mark_as_advanced(TORQUE_DISABLE_MEMORY_MANAGER)
|
|
|
|
|
|
option(TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM "Disable virtual mount system" OFF)
|
|
@@ -130,7 +160,9 @@ addPath("${srcDir}/math/test")
|
|
|
addPath("${srcDir}/platform")
|
|
|
addPath("${srcDir}/cinterface")
|
|
|
addPath("${srcDir}/platform/nativeDialogs")
|
|
|
-addPath("${srcDir}/platform/menus")
|
|
|
+if( NOT TORQUE_DEDICATED )
|
|
|
+ addPath("${srcDir}/platform/menus")
|
|
|
+endif()
|
|
|
addPath("${srcDir}/platform/test")
|
|
|
addPath("${srcDir}/platform/threads")
|
|
|
addPath("${srcDir}/platform/async")
|
|
@@ -197,8 +229,12 @@ addPathRec("${projectSrcDir}")
|
|
|
if(TORQUE_ADVANCED_LIGHTING)
|
|
|
addPath("${srcDir}/lighting/advanced")
|
|
|
addPathRec("${srcDir}/lighting/shadowMap")
|
|
|
- addPathRec("${srcDir}/lighting/advanced/hlsl")
|
|
|
- #addPathRec("${srcDir}/lighting/advanced/glsl")
|
|
|
+ if(WIN32)
|
|
|
+ addPathRec("${srcDir}/lighting/advanced/hlsl")
|
|
|
+ endif()
|
|
|
+ if(TORQUE_OPENGL)
|
|
|
+ addPathRec("${srcDir}/lighting/advanced/glsl")
|
|
|
+ endif()
|
|
|
addDef(TORQUE_ADVANCED_LIGHTING)
|
|
|
endif()
|
|
|
if(TORQUE_BASIC_LIGHTING)
|
|
@@ -215,11 +251,17 @@ if(TORQUE_SFX_DirectX)
|
|
|
endif()
|
|
|
|
|
|
# OpenAL
|
|
|
-if(TORQUE_SFX_OPENAL)
|
|
|
+if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
|
|
|
addPath("${srcDir}/sfx/openal")
|
|
|
#addPath("${srcDir}/sfx/openal/mac")
|
|
|
- addPath("${srcDir}/sfx/openal/win32")
|
|
|
- addInclude("${libDir}/openal/win32")
|
|
|
+ if(WIN32)
|
|
|
+ addPath("${srcDir}/sfx/openal/win32")
|
|
|
+ addInclude("${libDir}/openal/win32")
|
|
|
+ endif()
|
|
|
+ if(UNIX)
|
|
|
+ addPath("${srcDir}/sfx/openal/linux")
|
|
|
+ endif()
|
|
|
+
|
|
|
endif()
|
|
|
|
|
|
# Vorbis
|
|
@@ -275,6 +317,15 @@ if(TORQUE_HYDRA)
|
|
|
include( "modules/module_hydra.cmake" )
|
|
|
endif()
|
|
|
|
|
|
+if(TORQUE_DISABLE_MEMORY_MANAGER)
|
|
|
+ addDef(TORQUE_DISABLE_MEMORY_MANAGER)
|
|
|
+endif()
|
|
|
+
|
|
|
+if(TORQUE_DEDICATED)
|
|
|
+ addDef(TORQUE_DEDICATED)
|
|
|
+endif()
|
|
|
+
|
|
|
+
|
|
|
###############################################################################
|
|
|
# platform specific things
|
|
|
###############################################################################
|
|
@@ -339,19 +390,40 @@ if(PS3)
|
|
|
endif()
|
|
|
|
|
|
if(UNIX)
|
|
|
- # linux_dedicated
|
|
|
- addPath("${srcDir}/windowManager/dedicated")
|
|
|
- # linux
|
|
|
- addPath("${srcDir}/platformX86UNIX")
|
|
|
+ if(TORQUE_DEDICATED)
|
|
|
+ addPath("${srcDir}/windowManager/dedicated")
|
|
|
+ # ${srcDir}/platformX86UNIX/*.client.* files are not needed
|
|
|
+ # @todo: move to separate file
|
|
|
+ file( GLOB tmp_files
|
|
|
+ ${srcDir}/platformX86UNIX/*.cpp
|
|
|
+ ${srcDir}/platformX86UNIX/*.c
|
|
|
+ ${srcDir}/platformX86UNIX/*.cc
|
|
|
+ ${srcDir}/platformX86UNIX/*.h )
|
|
|
+ file( GLOB tmp_remove_files ${srcDir}/platformX86UNIX/*client.* )
|
|
|
+ LIST( REMOVE_ITEM tmp_files ${tmp_remove_files} )
|
|
|
+ foreach( f ${tmp_files} )
|
|
|
+ addFile( ${f} )
|
|
|
+ endforeach()
|
|
|
+ else()
|
|
|
+ addPath("${srcDir}/platformX86UNIX")
|
|
|
+ endif()
|
|
|
+
|
|
|
addPath("${srcDir}/platformX86UNIX/threads")
|
|
|
addPath("${srcDir}/platformPOSIX")
|
|
|
- addPath("${srcDir}/gfx/gl")
|
|
|
- addPath("${srcDir}/gfx/gl/ggl")
|
|
|
- addPath("${srcDir}/gfx/gl/ggl/x11") # This one is not yet implemented!
|
|
|
- addPath("${srcDir}/gfx/gl/ggl/generated")
|
|
|
+endif()
|
|
|
+
|
|
|
+if( TORQUE_OPENGL )
|
|
|
addPath("${srcDir}/shaderGen/GLSL")
|
|
|
- addPath("${srcDir}/terrain/glsl")
|
|
|
- addPath("${srcDir}/forest/glsl")
|
|
|
+ if( TORQUE_OPENGL AND NOT TORQUE_DEDICATED )
|
|
|
+ addPath("${srcDir}/gfx/gl")
|
|
|
+ addPath("${srcDir}/gfx/gl/tGL")
|
|
|
+ addPath("${srcDir}/terrain/glsl")
|
|
|
+ addPath("${srcDir}/forest/glsl")
|
|
|
+ endif()
|
|
|
+
|
|
|
+ if(WIN32 AND NOT TORQUE_SDL)
|
|
|
+ addPath("${srcDir}/gfx/gl/win32")
|
|
|
+ endif()
|
|
|
endif()
|
|
|
|
|
|
###############################################################################
|
|
@@ -408,6 +480,15 @@ if(WIN32)
|
|
|
addLib("${TORQUE_EXTERNAL_LIBS}")
|
|
|
endif()
|
|
|
|
|
|
+if(UNIX)
|
|
|
+ # copy pasted from T3D build system, some might not be needed
|
|
|
+ set(TORQUE_EXTERNAL_LIBS "dl Xxf86vm Xext X11 Xft stdc++ pthread GL" CACHE STRING "external libs to link against")
|
|
|
+ mark_as_advanced(TORQUE_EXTERNAL_LIBS)
|
|
|
+
|
|
|
+ string(REPLACE " " ";" TORQUE_EXTERNAL_LIBS_LIST ${TORQUE_EXTERNAL_LIBS})
|
|
|
+ addLib( "${TORQUE_EXTERNAL_LIBS_LIST}" )
|
|
|
+endif()
|
|
|
+
|
|
|
###############################################################################
|
|
|
# Always enabled Definitions
|
|
|
###############################################################################
|
|
@@ -431,6 +512,10 @@ addDef(PCRE_STATIC)
|
|
|
addDef(_CRT_SECURE_NO_WARNINGS)
|
|
|
addDef(_CRT_SECURE_NO_DEPRECATE)
|
|
|
|
|
|
+if(UNIX)
|
|
|
+ addDef(LINUX)
|
|
|
+endif()
|
|
|
+
|
|
|
###############################################################################
|
|
|
# Include Paths
|
|
|
###############################################################################
|
|
@@ -455,6 +540,11 @@ if(WIN32)
|
|
|
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY INCLUDE_DIRECTORIES $ENV{DXSDK_DIR}/Include)
|
|
|
endif()
|
|
|
|
|
|
+if(UNIX)
|
|
|
+ addInclude("/usr/include/freetype2/freetype")
|
|
|
+ addInclude("/usr/include/freetype2")
|
|
|
+endif()
|
|
|
+
|
|
|
###############################################################################
|
|
|
# Installation
|
|
|
###############################################################################
|