mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-03-12 00:40:44 +00:00
CMake changes for dedicated builds.
This commit is contained in:
parent
8a50895062
commit
17bd69e659
5 changed files with 138 additions and 21 deletions
|
|
@ -39,7 +39,8 @@ macro(addPath dir)
|
|||
${dir}/*.cpp
|
||||
${dir}/*.c
|
||||
${dir}/*.cc
|
||||
${dir}/*.h)
|
||||
${dir}/*.h
|
||||
${dir}/*.asm)
|
||||
LIST(APPEND ${PROJECT_NAME}_files "${tmp_files}")
|
||||
LIST(APPEND ${PROJECT_NAME}_paths "${dir}")
|
||||
#message(STATUS "addPath ${PROJECT_NAME} : ${tmp_files}")
|
||||
|
|
@ -351,6 +352,12 @@ else()
|
|||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS}")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${projectOutDir}")
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${projectOutDir}")
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${projectOutDir}")
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG "${projectOutDir}")
|
||||
endif()
|
||||
|
||||
# fix the debug/release subfolders on windows
|
||||
if(MSVC)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
project(convexDecomp)
|
||||
|
||||
if(UNIX)
|
||||
addDef(LINUX)
|
||||
endif()
|
||||
|
||||
finishLibrary("${libDir}/convexDecomp")
|
||||
|
|
|
|||
|
|
@ -1,6 +1,18 @@
|
|||
project(libtheora)
|
||||
|
||||
addPathRec("${libDir}/libtheora")
|
||||
addPath( "${libDir}/libtheora" )
|
||||
addPathRec( "${libDir}/libtheora/include" )
|
||||
addPath( "${libDir}/libtheora/lib" )
|
||||
addPath( "${libDir}/libtheora/lib/dec" )
|
||||
addPath( "${libDir}/libtheora/lib/enc" )
|
||||
|
||||
if(WIN32)
|
||||
addPath( "${libDir}/libtheora/lib/dec/x86_vc" )
|
||||
addPath( "${libDir}/libtheora/lib/enc/x86_32_vs" )
|
||||
else()
|
||||
addPath( "${libDir}/libtheora/lib/dec/x86" )
|
||||
addPath( "${libDir}/libtheora/lib/enc/x86_32" )
|
||||
endif()
|
||||
|
||||
addDef(TORQUE_OGGTHEORA)
|
||||
addDef(TORQUE_OGGVORIBS)
|
||||
|
|
|
|||
|
|
@ -6,4 +6,8 @@ addDef(TORQUE_OGGVORBIS)
|
|||
addInclude(${libDir}/libvorbis/include)
|
||||
addInclude(${libDir}/libogg/include)
|
||||
|
||||
if(UNIX)
|
||||
addInclude(${libDir}/libvorbis/lib)
|
||||
endif()
|
||||
|
||||
finishLibrary()
|
||||
|
|
|
|||
|
|
@ -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
|
||||
###############################################################################
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue