mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-12 15:14:35 +00:00
Merge remote-tracking branch 'GG-Github/development' into dynamic-CMake-modules
Conflicts: Tools/CMake/torque3d.cmake
This commit is contained in:
commit
744e7d4745
2662 changed files with 417824 additions and 25509 deletions
|
|
@ -69,7 +69,8 @@ macro(addPath dir)
|
|||
${dir}/*.c
|
||||
${dir}/*.cc
|
||||
${dir}/*.h
|
||||
${dir}/*.asm)
|
||||
#${dir}/*.asm
|
||||
)
|
||||
LIST(APPEND ${PROJECT_NAME}_files "${tmp_files}")
|
||||
LIST(APPEND ${PROJECT_NAME}_paths "${dir}")
|
||||
#message(STATUS "addPath ${PROJECT_NAME} : ${tmp_files}")
|
||||
|
|
@ -94,13 +95,17 @@ macro(__addDef def config)
|
|||
if(TARGET ${PROJECT_NAME})
|
||||
#message(STATUS "directly applying defs: ${PROJECT_NAME} with config ${config}: ${def}")
|
||||
if("${config}" STREQUAL "")
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS "${def}")
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${def})
|
||||
else()
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS_${config} "${def}")
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS $<$<CONFIG:${config}>:${def}>)
|
||||
endif()
|
||||
else()
|
||||
list(APPEND ${PROJECT_NAME}_defs_${config} ${def})
|
||||
#message(STATUS "added definition to cache: ${PROJECT_NAME}_defs_${config}: ${${PROJECT_NAME}_defs_${config}}")
|
||||
if("${config}" STREQUAL "")
|
||||
list(APPEND ${PROJECT_NAME}_defs_ ${def})
|
||||
else()
|
||||
list(APPEND ${PROJECT_NAME}_defs_ $<$<CONFIG:${config}>:${def}>)
|
||||
endif()
|
||||
#message(STATUS "added definition to cache: ${PROJECT_NAME}_defs_: ${${PROJECT_NAME}_defs_}")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
|
|
@ -108,7 +113,7 @@ endmacro()
|
|||
macro(addDef def)
|
||||
set(def_configs "")
|
||||
if(${ARGC} GREATER 1)
|
||||
foreach(config "${ARGV1}")
|
||||
foreach(config ${ARGN})
|
||||
__addDef(${def} ${config})
|
||||
endforeach()
|
||||
else()
|
||||
|
|
@ -119,16 +124,9 @@ endmacro()
|
|||
# this applies cached definitions onto the target
|
||||
macro(_process_defs)
|
||||
if(DEFINED ${PROJECT_NAME}_defs_)
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS "${${PROJECT_NAME}_defs_}")
|
||||
#message(STATUS "applying defs to project ${PROJECT_NAME} on all configs: ${${PROJECT_NAME}_defs_}")
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS ${${PROJECT_NAME}_defs_})
|
||||
#message(STATUS "applying defs to project ${PROJECT_NAME}: ${${PROJECT_NAME}_defs_}")
|
||||
endif()
|
||||
foreach(def_config ${CMAKE_CONFIGURATION_TYPES})
|
||||
string(TOUPPER "${def_config}" def_config)
|
||||
if(DEFINED ${PROJECT_NAME}_defs_${def_config})
|
||||
set_property(TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS_${def_config} "${${PROJECT_NAME}_defs_${def_config}}")
|
||||
#message(STATUS "applying defs to project ${PROJECT_NAME} on config ${def_config}: ${${PROJECT_NAME}_defs_${def_config}}")
|
||||
endif()
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
###############################################################################
|
||||
|
|
@ -346,9 +344,9 @@ if(WIN32)
|
|||
set(TORQUE_CXX_FLAGS_LIBS "/W0" CACHE TYPE STRING)
|
||||
mark_as_advanced(TORQUE_CXX_FLAGS_LIBS)
|
||||
|
||||
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "-DUNICODE -D_UNICODE /MP /O2 /Ob2 /Oi /Ot /Oy /GT /Zi /W4 /nologo /GF /EHsc /GS- /Gy- /Qpar- /fp:fast /fp:except- /GR /Zc:wchar_t- /D_CRT_SECURE_NO_WARNINGS" )
|
||||
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "-DUNICODE -D_UNICODE -D_CRT_SECURE_NO_WARNINGS /MP /O2 /Ob2 /Oi /Ot /Oy /GT /Zi /W4 /nologo /GF /EHsc /GS- /Gy- /Qpar- /fp:fast /fp:except- /GR /Zc:wchar_t-" )
|
||||
if( TORQUE_CPU_X32 )
|
||||
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT ${TORQUE_CXX_FLAGS_COMMON_DEFAULT}" /arch:SSE2")
|
||||
set(TORQUE_CXX_FLAGS_COMMON_DEFAULT "${TORQUE_CXX_FLAGS_COMMON_DEFAULT} /arch:SSE2")
|
||||
endif()
|
||||
set(TORQUE_CXX_FLAGS_COMMON ${TORQUE_CXX_FLAGS_COMMON_DEFAULT} CACHE TYPE STRING)
|
||||
|
||||
|
|
|
|||
|
|
@ -23,10 +23,15 @@
|
|||
project(${TORQUE_APP_NAME})
|
||||
|
||||
if(UNIX)
|
||||
if(NOT CXX_FLAG32)
|
||||
set(CXX_FLAG32 "")
|
||||
endif()
|
||||
#set(CXX_FLAG32 "-m32") #uncomment for build x32 on OSx64
|
||||
|
||||
# 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}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_FLAG32} -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CXX_FLAG32} -Wall -Wundef -msse -pipe -Wfatal-errors ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
|
||||
# for asm files
|
||||
SET (CMAKE_ASM_NASM_OBJECT_FORMAT "elf")
|
||||
|
|
@ -58,6 +63,18 @@ option(TORQUE_HIFI "HIFI? support" OFF)
|
|||
mark_as_advanced(TORQUE_HIFI)
|
||||
option(TORQUE_EXTENDED_MOVE "Extended move support" OFF)
|
||||
mark_as_advanced(TORQUE_EXTENDED_MOVE)
|
||||
if(WIN32)
|
||||
option(TORQUE_SDL "Use SDL for window and input" OFF)
|
||||
mark_as_advanced(TORQUE_SDL)
|
||||
else()
|
||||
set(TORQUE_SDL ON) # we need sdl to work on Linux/Mac
|
||||
endif()
|
||||
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
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
option(TORQUE_OPENGL "Allow OpenGL render" OFF)
|
||||
|
|
@ -132,6 +149,20 @@ if(WIN32)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
# build types
|
||||
if(NOT MSVC) # handle single-configuration generator
|
||||
set(CMAKE_BUILD_TYPE ${TORQUE_BUILD_TYPE})
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
set(TORQUE_DEBUG TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
|
||||
set(TORQUE_RELEASE TRUE)
|
||||
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
|
||||
set(TORQUE_RELEASE TRUE)
|
||||
else()
|
||||
message(FATAL_ERROR "Please select Debug, Release or RelWithDebInfo for TORQUE_BUILD_TYPE")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# Always enabled paths first
|
||||
###############################################################################
|
||||
|
|
@ -311,6 +342,30 @@ else()
|
|||
addPath("${srcDir}/T3D/gameBase/std")
|
||||
endif()
|
||||
|
||||
if(TORQUE_SDL)
|
||||
addPathRec("${srcDir}/windowManager/sdl")
|
||||
addPathRec("${srcDir}/platformSDL")
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addPathRec("${srcDir}/gfx/gl/sdl")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
#set(CMAKE_SIZEOF_VOID_P 4) #force 32 bit
|
||||
set(ENV{CFLAGS} "${CXX_FLAG32} -g -O3")
|
||||
if("${TORQUE_ADDITIONAL_LINKER_FLAGS}" STREQUAL "")
|
||||
set(ENV{LDFLAGS} "${CXX_FLAG32}")
|
||||
else()
|
||||
set(ENV{LDFLAGS} "${CXX_FLAG32} ${TORQUE_ADDITIONAL_LINKER_FLAGS}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
#override and hide SDL2 cache variables
|
||||
set(SDL_SHARED ON CACHE INTERNAL "" FORCE)
|
||||
set(SDL_STATIC OFF CACHE INTERNAL "" FORCE)
|
||||
add_subdirectory( ${libDir}/sdl ${CMAKE_CURRENT_BINARY_DIR}/sdl2)
|
||||
endif()
|
||||
|
||||
if(TORQUE_DEDICATED)
|
||||
addDef(TORQUE_DEDICATED)
|
||||
endif()
|
||||
|
|
@ -385,6 +440,7 @@ if(PS3)
|
|||
endif()
|
||||
|
||||
if(UNIX)
|
||||
# linux_dedicated
|
||||
if(TORQUE_DEDICATED)
|
||||
addPath("${srcDir}/windowManager/dedicated")
|
||||
# ${srcDir}/platformX86UNIX/*.client.* files are not needed
|
||||
|
|
@ -401,8 +457,9 @@ if(UNIX)
|
|||
endforeach()
|
||||
else()
|
||||
addPath("${srcDir}/platformX86UNIX")
|
||||
addPath("${srcDir}/platformX86UNIX/nativeDialogs")
|
||||
endif()
|
||||
|
||||
# linux
|
||||
addPath("${srcDir}/platformX86UNIX/threads")
|
||||
addPath("${srcDir}/platformPOSIX")
|
||||
endif()
|
||||
|
|
@ -412,8 +469,12 @@ if( TORQUE_OPENGL )
|
|||
if( TORQUE_OPENGL AND NOT TORQUE_DEDICATED )
|
||||
addPath("${srcDir}/gfx/gl")
|
||||
addPath("${srcDir}/gfx/gl/tGL")
|
||||
addPath("${srcDir}/shaderGen/GLSL")
|
||||
addPath("${srcDir}/terrain/glsl")
|
||||
addPath("${srcDir}/forest/glsl")
|
||||
|
||||
# glew
|
||||
LIST(APPEND ${PROJECT_NAME}_files "${libDir}/glew/src/glew.c")
|
||||
endif()
|
||||
|
||||
if(WIN32 AND NOT TORQUE_SDL)
|
||||
|
|
@ -472,6 +533,19 @@ if(WIN32)
|
|||
set(TORQUE_EXTERNAL_LIBS "COMCTL32.LIB;COMDLG32.LIB;USER32.LIB;ADVAPI32.LIB;GDI32.LIB;WINMM.LIB;WSOCK32.LIB;vfw32.lib;Imm32.lib;d3d9.lib;d3dx9.lib;DxErr.lib;ole32.lib;shell32.lib;oleaut32.lib;version.lib" CACHE STRING "external libs to link against")
|
||||
mark_as_advanced(TORQUE_EXTERNAL_LIBS)
|
||||
addLib("${TORQUE_EXTERNAL_LIBS}")
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addLib(OpenGL32.lib)
|
||||
endif()
|
||||
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()
|
||||
|
||||
if(UNIX)
|
||||
|
|
@ -486,8 +560,8 @@ endif()
|
|||
###############################################################################
|
||||
# Always enabled Definitions
|
||||
###############################################################################
|
||||
addDef(TORQUE_DEBUG DEBUG)
|
||||
addDef(TORQUE_ENABLE_ASSERTS "DEBUG;RelWithDebInfo")
|
||||
addDef(TORQUE_DEBUG Debug)
|
||||
addDef(TORQUE_ENABLE_ASSERTS "Debug;RelWithDebInfo")
|
||||
addDef(TORQUE_DEBUG_GFX_MODE "RelWithDebInfo")
|
||||
addDef(TORQUE_SHADERGEN)
|
||||
addDef(INITGUID)
|
||||
|
|
@ -510,6 +584,23 @@ if(UNIX)
|
|||
addDef(LINUX)
|
||||
endif()
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addDef(TORQUE_OPENGL)
|
||||
if(WIN32)
|
||||
addDef(GLEW_STATIC)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(TORQUE_SDL)
|
||||
addDef(TORQUE_SDL)
|
||||
addInclude(${libDir}/sdl/include)
|
||||
addLib(SDL2)
|
||||
endif()
|
||||
|
||||
if(TORQUE_STATIC_CODE_ANALYSIS)
|
||||
addDef( "ON_FAIL_ASSERTFATAL=exit(1)" )
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# Include Paths
|
||||
###############################################################################
|
||||
|
|
@ -528,6 +619,18 @@ addInclude("${libDir}/libogg/include")
|
|||
addInclude("${libDir}/opcode")
|
||||
addInclude("${libDir}/collada/include")
|
||||
addInclude("${libDir}/collada/include/1.4")
|
||||
if(TORQUE_OPENGL)
|
||||
addInclude("${libDir}/glew/include")
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
addInclude("/usr/include/freetype2/freetype")
|
||||
addInclude("/usr/include/freetype2")
|
||||
endif()
|
||||
|
||||
if(TORQUE_OPENGL)
|
||||
addInclude("${libDir}/glew/include")
|
||||
endif()
|
||||
|
||||
# external things
|
||||
if(WIN32)
|
||||
|
|
@ -539,6 +642,17 @@ if(UNIX)
|
|||
addInclude("/usr/include/freetype2")
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
# Match projectGenerator naming for executables
|
||||
set(OUTPUT_CONFIG DEBUG MINSIZEREL RELWITHDEBINFO)
|
||||
set(OUTPUT_SUFFIX DEBUG MINSIZE OPTIMIZEDDEBUG)
|
||||
foreach(INDEX RANGE 2)
|
||||
list(GET OUTPUT_CONFIG ${INDEX} CONF)
|
||||
list(GET OUTPUT_SUFFIX ${INDEX} SUFFIX)
|
||||
set_property(TARGET ${PROJECT_NAME} PROPERTY OUTPUT_NAME_${CONF} ${PROJECT_NAME}_${SUFFIX})
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
###############################################################################
|
||||
# Installation
|
||||
###############################################################################
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue