* Feature: Begin working the new engine module system.

This commit is contained in:
Robert MacGregor 2022-05-17 20:42:35 -04:00
parent 9901fa76b4
commit dfc03da9d9
10 changed files with 133 additions and 28 deletions

View file

@ -0,0 +1,9 @@
option(TORQUE_AFX_ENABLED "Enable AFX module" ON)
if(TORQUE_AFX_ENABLED)
message("Enabling AFX Module")
file(GLOB_RECURSE TORQUE_SFX_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/afx/*.cpp")
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_SFX_SOURCES})
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} TORQUE_AFX_ENABLED)
endif()

View file

@ -0,0 +1,19 @@
# Bullet module
option(TORQUE_PHYSICS_BULLET "Use Bullet physics" OFF)
if(TORQUE_PHYSICS_BULLET)
message("Enabling Bullet Module")
file(GLOB TORQUE_BULLET_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/T3D/physics/bullet/*.cpp")
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_NAVIGATION_SOURCES})
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} BulletSoftBody Bullet3Dynamics BulletInverseDynamics BulletCollision
Bullet2FileLoader BulletDynamics Bullet3OpenCL_clew Bullet3Common
LinearMath Bullet3Geometry Bullet3Collision)
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} TORQUE_PHYSICS_BULLET TORQUE_PHYSICS_ENABLED)
# Since Bullet lives elsewhere we need to ensure it is known to Torque when providing a link to it
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Bullet Shared Libs" FORCE)
set(BUILD_CPU_DEMOS OFF CACHE BOOL "Bullet CPU Demos" FORCE)
set(BUILD_BULLET2_DEMOS OFF CACHE BOOL "Bullet2 Demos" FORCE)
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/bullet" ${CMAKE_BINARY_DIR}/temp/bullet EXCLUDE_FROM_ALL)
endif(TORQUE_PHYSICS_BULLET)

View file

@ -0,0 +1,14 @@
# Navigation module
option(TORQUE_NAVIGATION "Enable Navigation module" ON)
if(TORQUE_NAVIGATION)
message("Enabling Navigation Module")
file(GLOB TORQUE_NAVIGATION_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/navigation/*.cpp")
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_NAVIGATION_SOURCES})
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} recast)
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} recast TORQUE_NAVIGATION_ENABLED)
# Since recast lives elsewhere we need to ensure it is known to Torque when providing a link to it
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/recast" ${CMAKE_BINARY_DIR}/temp/recast EXCLUDE_FROM_ALL)
endif(TORQUE_NAVIGATION)

View file

@ -0,0 +1,30 @@
# Bullet module
option(TORQUE_SFX_OPENAL "Use OpenAL SFX" ON)
if(TORQUE_SFX_OPENAL)
message("Enabling OpenAL Module")
file(GLOB TORQUE_OPENAL_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/sfx/openal/*.cpp")
if (APPLE)
file(GLOB TORQUE_OPENAL_MAC_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/sfx/openal/mac/*.cpp")
set(TORQUE_OPENAL_SOURCES ${TORQUE_OPENAL_SOURCES} ${TORQUE_OPENAL_MAC_SOURCES})
elseif (WIN32)
file(GLOB TORQUE_OPENAL_WIN_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/sfx/openal/win32/*.cpp")
set(TORQUE_OPENAL_SOURCES ${TORQUE_OPENAL_SOURCES} ${TORQUE_OPENAL_WIN_SOURCES})
elseif (UNIX)
file(GLOB TORQUE_OPENAL_LINUX_SOURCES "${CMAKE_SOURCE_DIR}/Engine/source/sfx/openal/linux/*.cpp")
set(TORQUE_OPENAL_SOURCES ${TORQUE_OPENAL_SOURCES} ${TORQUE_OPENAL_LINUX_SOURCES})
else()
message(FATAL_ERROR "Unsupported OpenAL platform.")
endif (APPLE)
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_OPENAL_SOURCES})
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} OpenAL)
# Since OpenAL lives elsewhere we need to ensure it is known to Torque when providing a link to it
set(ALSOFT_EXAMPLES OFF CACHE BOOL "OpenAL Examples" FORCE)
set(ALSOFT_UPDATE_BUILD_VERSION OFF CACHE BOOL "Update build Version" UPDATE)
add_subdirectory("${CMAKE_SOURCE_DIR}/Engine/lib/openal-soft" ${CMAKE_BINARY_DIR}/temp/openal-soft EXCLUDE_FROM_ALL)
endif(TORQUE_PHYSICS_BULLET)

View file

@ -0,0 +1,11 @@
# Bullet module
option(TORQUE_TOOLS "Enable Torque Tools" ON)
if(TORQUE_TOOLS)
message("Enabling Torque Tools Module")
file(GLOB TORQUE_TOOLS_SOURCES "gui/editor/*.cpp" "gui/worldEditor/*.cpp" "gui/worldEditor/tools/*.cpp"
"gui/editor/inspector/*.cpp")
set(TORQUE_SOURCE_FILES ${TORQUE_SOURCE_FILES} ${TORQUE_TOOLS_SOURCES})
set(TORQUE_COMPILE_DEFINITIONS ${TORQUE_COMPILE_DEFINITIONS} TORQUE_TOOLS)
endif(TORQUE_PHYSICS_BULLET)