Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
68 changes: 33 additions & 35 deletions .github/workflows/build-linux-gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,40 +52,38 @@ jobs:

- name: Install Linux Dependencies
run: |
sudo apt-get update && \
sudo apt-get install -y \
ninja-build \
build-essential \
nasm \
python3 \
python3-pip \
gcc-12 g++-12 \
gcc-13 g++-13 \
clang \
libogg-dev \
libxft-dev \
libx11-dev \
libxxf86vm-dev \
libopenal-dev \
libasound2-dev \
libpipewire-0.3-dev \
portaudio19-dev \
oss4-dev \
libjack-dev \
libpulse-dev \
libdbus-1-dev \
libfreetype6-dev \
libxcursor-dev \
libxinerama-dev \
libxi-dev \
libxrandr-dev \
libxss-dev \
libglu1-mesa-dev \
libgtk-3-dev
ninja --version
cmake --version
${{matrix.config.cc}} --version
python3 -m pip install --break-system-packages jinja2
sudo apt-get install ninja-build
ninja --version
cmake --version
gcc --version
sudo apt-get update && \
sudo apt-get install -y \
build-essential \
nasm \
git \
curl \
zip \
unzip \
pkg-config \
autoconf \
autoconf-archive \
automake \
make \
libtool \
libltdl-dev \
libx11-dev \
libxft-dev \
libxext-dev \
libwayland-dev \
libxkbcommon-dev \
libegl1-mesa-dev \
libibus-1.0-dev \
libgtk-3-dev

sudo apt-get install -y \
python3

pip install jinja2

- name: Configure, Build & Install
uses: threeal/cmake-action@v1.3.0
Expand All @@ -97,7 +95,7 @@ jobs:
generator: ${{matrix.config.generator}}
options: CMAKE_BUILD_TYPE=${{matrix.config.build_type}} TORQUE_APP_NAME=Torque3D TORQUE_TESTING=ON
run-build: true
build-args: --config ${{matrix.config.build_type}} --target install
build-args: --config ${{matrix.config.build_type}}

- name: Unit Tests
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-macos-clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
generator: ${{matrix.config.generator}}
options: CMAKE_BUILD_TYPE=${{matrix.config.build_type}} TORQUE_APP_NAME=Torque3D TORQUE_TESTING=ON
run-build: true
build-args: --config ${{matrix.config.build_type}} --target install
build-args: --config ${{matrix.config.build_type}}

- name: Unit Tests
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-windows-msvc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
args: ${{matrix.config.cmake_args}}
options: CMAKE_BUILD_TYPE=${{matrix.config.build_type}} TORQUE_APP_NAME=Torque3D TORQUE_TESTING=ON
run-build: true
build-args: --config ${{matrix.config.build_type}} --target install
build-args: --config ${{matrix.config.build_type}}

# Skipped for ARM64 — binary cannot run on the x64 host runner.
- name: Unit Tests
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,7 @@ console.log
*.cached.dts
!Engine/bin
My Projects/
Tools/CMake/vcpkg/local
Project Manager.exe
projects.xml
Qt*.dll
Expand Down
261 changes: 3 additions & 258 deletions Engine/lib/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,121 +1,9 @@
# Ask CMake to perform builds in a temporary directory for all of these.
# We also use EXCLUDE_FROM_ALL to ensure we only build and install what we want
#ZLIB
get_filename_component(ZLIB_ROOT "zlib" REALPATH BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
set(ZLIB_ROOT "${ZLIB_ROOT}" CACHE STRING "ZLib root location" FORCE)
advanced_option(ZLIB_BUILD_EXAMPLES "Enable Zlib Examples" OFF)
mark_as_advanced(ZLIB_ROOT)
# Png depends on zlib
add_subdirectory(zlib ${TORQUE_LIB_TARG_DIRECTORY}/zlib EXCLUDE_FROM_ALL)

if(APPLE)
enable_language(OBJC)
advanced_option(AL_ALEXT_PROTOTYPES "Use Extended OpenAL options" OFF)
else()
advanced_option(AL_ALEXT_PROTOTYPES "Use Extended OpenAL options" ON)
endif()

if(AL_ALEXT_PROTOTYPES)
addDef( "AL_ALEXT_PROTOTYPES" )
endif()

#SDL
set(SDL_SHARED ON CACHE BOOL "Build a shared version of the library" FORCE)
set(SDL_STATIC OFF CACHE BOOL "Build a static version of the library" FORCE)
mark_as_advanced(SDL2MAIN_LIBRARY)
mark_as_advanced(SDL2_CORE_LIBRARY)
mark_as_advanced(SDL2_INCLUDE_DIR)
mark_as_advanced(SDL2_DISABLE_INSTALL)
mark_as_advanced(SDL2_DISABLE_SDL2MAIN)
mark_as_advanced(SDL2_DISABLE_UNINSTALL)
mark_as_advanced(SDL_3DNOW)
mark_as_advanced(SDL_ALSA)
mark_as_advanced(SDL_ALTIVEC)
mark_as_advanced(SDL_ARMNEON)
mark_as_advanced(SDL_ARMSIMD)
mark_as_advanced(SDL_ARTS)
mark_as_advanced(SDL_ASAN)
mark_as_advanced(SDL_ASSEMBLY)
mark_as_advanced(SDL_ASSERTIONS)
mark_as_advanced(SDL_ATOMIC)
mark_as_advanced(SDL_AUDIO)
mark_as_advanced(SDL_BACKGROUNDING_SIGNAL)
mark_as_advanced(SDL_CCACHE)
mark_as_advanced(SDL_CLOCK_GETTIME)
mark_as_advanced(SDL_COCOA)
mark_as_advanced(SDL_CPUINFO)
mark_as_advanced(SDL_DIRECTFB)
mark_as_advanced(SDL_DIRECTX)
mark_as_advanced(SDL_DISKAUDIO)
mark_as_advanced(SDL_DUMMYAUDIO)
mark_as_advanced(SDL_DUMMYVIDEO)
mark_as_advanced(SDL_ESD)
mark_as_advanced(SDL_EVENTS)
mark_as_advanced(SDL_FILE)
mark_as_advanced(SDL_FILESYSTEM)
mark_as_advanced(SDL_FORCE_STATIC_VCRT)
mark_as_advanced(SDL_FOREGROUNDING_SIGNAL)
mark_as_advanced(SDL_FUSIONSOUND)
mark_as_advanced(SDL_GCC_ATOMICS)
mark_as_advanced(SDL_HAPTIC)
mark_as_advanced(SDL_HIDAPI)
mark_as_advanced(SDL_HIDAPI_JOYSTICK)
mark_as_advanced(SDL_HIDAPI_LIBUSB)
mark_as_advanced(SDL_INSTALL_TESTS)
mark_as_advanced(SDL_JACK)
mark_as_advanced(SDL_JOYSTICK)
mark_as_advanced(SDL_KMSDRM)
mark_as_advanced(SDL_LIBC)
mark_as_advanced(SDL_LIBSAMPLERATE)
mark_as_advanced(SDL_LIBUDEV)
mark_as_advanced(SDL_LOADSO)
mark_as_advanced(SDL_LOCALE)
mark_as_advanced(SDL_METAL)
mark_as_advanced(SDL_MISC)
mark_as_advanced(SDL_MMX)
mark_as_advanced(SDL_NAS)
mark_as_advanced(SDL_OFFSCREEN)
mark_as_advanced(SDL_OPENGL)
mark_as_advanced(SDL_OPENGLES)
mark_as_advanced(SDL_PIPEWIRE)
mark_as_advanced(SDL_POWER)
mark_as_advanced(SDL_PTHREADS)
mark_as_advanced(SDL_PULSEAUDIO)
mark_as_advanced(SDL_RENDER)
mark_as_advanced(SDL_RENDER_D3D)
mark_as_advanced(SDL_RENDER_METAL)
mark_as_advanced(SDL_RPATH)
mark_as_advanced(SDL_RPI)
mark_as_advanced(SDL_SENSOR)
mark_as_advanced(SDL_SHARED)
mark_as_advanced(SDL_SNDIO)
mark_as_advanced(SDL_SSE)
mark_as_advanced(SDL_SSE2)
mark_as_advanced(SDL_SSE3)
mark_as_advanced(SDL_SSEMATH)
mark_as_advanced(SDL_STATIC)
mark_as_advanced(SDL_SYSTEM_ICONV)
mark_as_advanced(SDL_TEST)
mark_as_advanced(SDL_TESTS)
mark_as_advanced(SDL_THREADS)
mark_as_advanced(SDL_TIMERS)
mark_as_advanced(SDL_VENDOR_INFO)
mark_as_advanced(SDL_VIDEO)
mark_as_advanced(SDL_VIRTUAL_JOYSTICK)
mark_as_advanced(SDL_VIVANTE)
mark_as_advanced(SDL_VULKAN)
mark_as_advanced(SDL_WASAPI)
mark_as_advanced(SDL_WAYLAND)
mark_as_advanced(SDL_WERROR)
mark_as_advanced(SDL_X11)
mark_as_advanced(SDL_XINPUT)
mark_as_advanced(SDL2_DIR)
add_subdirectory(sdl ${TORQUE_LIB_TARG_DIRECTORY}/sdl2 EXCLUDE_FROM_ALL)

add_subdirectory(nativeFileDialogs ${TORQUE_LIB_TARG_DIRECTORY}/nfd EXCLUDE_FROM_ALL)
add_subdirectory(convexMath ${TORQUE_LIB_TARG_DIRECTORY}/convexMath EXCLUDE_FROM_ALL)

# Assimp
# Kept as a local build rather than a vcpkg port — the source tree is too
# large to vendor a duplicate copy of via an overlay-port download, and we
# already maintain it as a submodule under Engine/lib/assimp.
advanced_option(ASSIMP_HUNTER_ENABLED "Enable Hunter package manager support" OFF)
advanced_option(ASSIMP_BUILD_NO_OWN_ZLIB "" ON)
set(BUILD_SHARED_LIBS OFF )
Expand Down Expand Up @@ -163,150 +51,7 @@ mark_as_advanced(ASSIMP_RUNTIME_OUTPUT_DIRECTORY)
add_subdirectory(assimp ${TORQUE_LIB_TARG_DIRECTORY}/assimp EXCLUDE_FROM_ALL)
target_compile_definitions(assimp PUBLIC ASSIMP_BUILD_NO_OWN_ZLIB)

if (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)
if(NOT APPLE)
set(PNG_ARM_NEON on CACHE BOOL "" FORCE)
endif(NOT APPLE)
endif (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)

if(APPLE)
set(PNG_ARM_NEON off CACHE BOOL "" FORCE)
endif()

#PNG STB Update: Not sure if these are still needed.
set(PNG_STATIC on CACHE BOOL "" FORCE)
mark_as_advanced(PNG_STATIC)
set(PNG_SHARED off CACHE BOOL "" FORCE)
mark_as_advanced(PNG_SHARED)
set(PNG_BUILD_ZLIB OFF CACHE BOOL "" FORCE)
mark_as_advanced(PNG_BUILD_ZLIB)
set(PNG_TESTS off CACHE BOOL "" FORCE)
mark_as_advanced(PNG_TESTS)
set(PNG_HARDWARE_OPTIMIZATIONS on CACHE BOOL "" FORCE)
set(SKIP_INSTALL_ALL ON CACHE BOOL "" FORCE)
mark_as_advanced(PNG_HARDWARE_OPTIMIZATIONS)

if(APPLE)
set(PNG_FRAMEWORK on CACHE BOOL "" FORCE)
addDef(PNG_DEBUG Debug)
endif()

mark_as_advanced(PNG_DEBUG)
mark_as_advanced(PNG_FRAMEWORK)
mark_as_advanced(PNG_PREFIX)
add_subdirectory(lpng ${TORQUE_LIB_TARG_DIRECTORY}/lpng EXCLUDE_FROM_ALL)

add_subdirectory(tinyxml2 ${TORQUE_LIB_TARG_DIRECTORY}/tinyxml2 EXCLUDE_FROM_ALL)
add_subdirectory(opcode ${TORQUE_LIB_TARG_DIRECTORY}/opcode EXCLUDE_FROM_ALL)
add_subdirectory(pcre ${TORQUE_LIB_TARG_DIRECTORY}/pcre EXCLUDE_FROM_ALL)

add_subdirectory(squish ${TORQUE_LIB_TARG_DIRECTORY}/squish EXCLUDE_FROM_ALL)
add_subdirectory(collada ${TORQUE_LIB_TARG_DIRECTORY}/collada EXCLUDE_FROM_ALL)
add_subdirectory(glad ${TORQUE_LIB_TARG_DIRECTORY}/glad EXCLUDE_FROM_ALL)

set(ALSOFT_REQUIRE_LINUX OFF)
set(ALSOFT_REQUIRE_WINDOWS OFF)
set(ALSOFT_REQUIRE_WINDOWS_NOT_UWP OFF)
set(ALSOFT_REQUIRE_APPLE OFF)
set(ALSOFT_CPUEXT_NEON OFF)

if(UNIX AND NOT APPLE)
set(ALSOFT_REQUIRE_LINUX ON)
endif()
if(WIN32)
set(ALSOFT_REQUIRE_WINDOWS ON)
endif()
if(APPLE)
set(ALSOFT_REQUIRE_APPLE ON)
endif()

#hidden options
if(TORQUE_SFX_OPENAL)
advanced_option(TORQUE_OGGVORBIS "Enable OGG Vorbis" ON)
advanced_option(ALSOFT_EAX "Enable legacy EAX extensions" ${WIN32})
advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON)
mark_as_advanced(ALSOFT_BACKEND_COREAUDIO)
advanced_option(ALSOFT_BACKEND_ALSA "Enable ALSA Backend" ${ALSOFT_REQUIRE_LINUX})
advanced_option(ALSOFT_REQUIRE_ALSA "Require ALSA Backend" ${ALSOFT_REQUIRE_LINUX})
advanced_option(ALSOFT_BACKEND_DSOUND "Enable DirectSound backend" ${ALSOFT_REQUIRE_WINDOWS})
advanced_option(ALSOFT_REQUIRE_DSOUND "Require DirectSound Backend" ${ALSOFT_REQUIRE_WINDOWS})
advanced_option(ALSOFT_BACKEND_JACK "Enable Jack backend" OFF)
advanced_option(ALSOFT_BACKEND_OBOE "Enable OBOE backend" OFF)
advanced_option(ALSOFT_BACKEND_OPENSL "Enable OpenSL backend" OFF)
advanced_option(ALSOFT_BACKEND_PIPEWIRE "Enable PipeWire backend" OFF)
advanced_option(ALSOFT_BACKEND_PORTAUDIO "Enable PortAudio backend" OFF)
advanced_option(ALSOFT_BACKEND_PULSEAUDIO "Enable PulseAudio backend" OFF)
advanced_option(ALSOFT_BACKEND_SDL2 "Use SDL2 Backend" OFF)
advanced_option(ALSOFT_BACKEND_COREAUDIO "Enable CoreAudio backend" ${ALSOFT_REQUIRE_APPLE})
advanced_option(ALSOFT_REQUIRE_COREAUDIO "Require CoreAudio backend" ${ALSOFT_REQUIRE_APPLE})
advanced_option(ALSOFT_BACKEND_WASAPI "Enable WASAPI backend" ${ALSOFT_REQUIRE_WINDOWS})
advanced_option(ALSOFT_REQUIRE_WASAPI "Require WASAPI backend" ${ALSOFT_REQUIRE_WINDOWS})
advanced_option(ALSOFT_BACKEND_WAVE "Enable Wave backend" ON)
advanced_option(ALSOFT_BACKEND_WINMM "Enable WinMM backend" OFF)
mark_as_advanced(ALSOFT_BUILD_ROUTER)
mark_as_advanced(ALSOFT_CPUEXT_NEON)
mark_as_advanced(ALSOFT_CPUEXT_SSE)
mark_as_advanced(ALSOFT_CPUEXT_SSE2)
mark_as_advanced(ALSOFT_CPUEXT_SSE3)
mark_as_advanced(ALSOFT_CPUEXT_SSE4_1)
mark_as_advanced(ALSOFT_DLOPEN)
mark_as_advanced(ALSOFT_EAX)
advanced_option(ALSOFT_EMBED_HRTF_DATA "Embed the HRTF data files (increases library footprint)" OFF)
advanced_option(ALSOFT_EXAMPLES "Build example programs" OFF)
advanced_option(ALSOFT_INSTALL "Install OpenAL" OFF) # we move it ourselves
advanced_option(ALSOFT_INSTALL_CONFIG "Install alsoft.conf sample configuration file" OFF)
advanced_option(ALSOFT_INSTALL_HRTF_DATA "Install HRTF data files" OFF)
advanced_option(ALSOFT_INSTALL_AMBDEC_PRESETS "Install AmbDec preset files" OFF)
advanced_option(ALSOFT_INSTALL_EXAMPLES "Install example programs (alplay, alstream, ...)" OFF)
advanced_option(ALSOFT_INSTALL_UTILS "Install utility programs (openal-info, alsoft-config, ...)" OFF)
mark_as_advanced(ALSOFT_UPDATE_BUILD_VERSION)
mark_as_advanced(ALSOFT_NO_CONFIG_UTIL)
mark_as_advanced(ALSOFT_REQUIRE_JACK)
mark_as_advanced(ALSOFT_REQUIRE_NEON)
mark_as_advanced(ALSOFT_REQUIRE_OBOE)
mark_as_advanced(ALSOFT_REQUIRE_OPENSL)
mark_as_advanced(ALSOFT_REQUIRE_PIPEWIRE)
mark_as_advanced(ALSOFT_REQUIRE_PORTAUDIO)
mark_as_advanced(ALSOFT_REQUIRE_PULSEAUDIO)
mark_as_advanced(ALSOFT_REQUIRE_SDL2)
mark_as_advanced(ALSOFT_REQUIRE_SSE)
mark_as_advanced(ALSOFT_REQUIRE_SSE2)
mark_as_advanced(ALSOFT_REQUIRE_SSE3)
mark_as_advanced(ALSOFT_REQUIRE_SSE4_1)
mark_as_advanced(ALSOFT_REQUIRE_WINMM)
mark_as_advanced(ALSOFT_SEARCH_INSTALL_DATADIR)
mark_as_advanced(ALSOFT_TESTS)
mark_as_advanced(ALSOFT_UTILS)
mark_as_advanced(ALSOFT_WERROR)
endif()

set(BUILD_SHARED_LIBS OFF )
if(TORQUE_TESTING)
add_subdirectory(gtest ${TORQUE_LIB_TARG_DIRECTORY}/gtest EXCLUDE_FROM_ALL)
endif()
#endif()

#misc randoms
mark_as_advanced(WINDRES)
mark_as_advanced(AUDIOUNIT_INCLUDE_DIR)
mark_as_advanced(CCACHE_BINARY)
mark_as_advanced(COREAUDIO_FRAMEWORK)
mark_as_advanced(FORCE_STATIC_VCRT)
mark_as_advanced(HAVE_GIT)
mark_as_advanced(LIBRARY_SUFFIX)
mark_as_advanced(USE_STATIC_CRT)

mark_as_advanced(BUILD_CXXLIBS)
mark_as_advanced(BUILD_DOCS)
mark_as_advanced(BUILD_REGTEST)
mark_as_advanced(BUILD_UTILS)

mark_as_advanced(ENABLE_64_BIT_WORDS)
mark_as_advanced(ENABLE_BOW_DOCS)
mark_as_advanced(ENABLE_EXTERNAL_LIBS)

mark_as_advanced(WITH_ASM)
mark_as_advanced(WITH_AVX)
mark_as_advanced(WITH_FORTIFY_SOURCE)
mark_as_advanced(WITH_OGG)
mark_as_advanced(WITH_STACK_PROTECTOR)
2 changes: 0 additions & 2 deletions Engine/lib/Torque_postBuild.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,6 @@ if (APPLE)
endif()
endif (APPLE)

set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} nativeFileDialogs)

# Linux requires X11 & freetype
if (UNIX AND NOT APPLE)
set(TORQUE_LINK_LINUX ${TORQUE_LINK_LINUX} "X11" "Xft" "dl" "pthread")
Expand Down
Loading
Loading