get ogg working

This commit is contained in:
AzaezelX 2023-06-03 20:29:35 -05:00
parent c147cda110
commit 653580b469
7 changed files with 164 additions and 61 deletions

View file

@ -41,7 +41,6 @@ else()
endif()
endif()
if(NOT TORQUE_SCRIPT_EXTENSION)
set(TORQUE_SCRIPT_EXTENSION "tscript" CACHE STRING "The default script extension to use for TorqueScript files")
endif()
@ -50,15 +49,6 @@ mark_as_advanced(TORQUE_SCRIPT_EXTENSION)
set(TORQUE_MODULE_USER_PATH "" CACHE PATH "Additional search path for modules aside from the default Tools/CMake/modules.")
mark_as_advanced(TORQUE_MODULE_USER_PATH)
if(WIN32)
option(TORQUE_OPENGL "Allow OpenGL render" ON)
else()
set(TORQUE_OPENGL ON) # we need OpenGL to render on Linux/Mac
endif()
if(WIN32)
option(TORQUE_D3D11 "Allow Direct3D 11 render" ON)
endif()
# Install Torque template
if(NOT TORQUE_TEMPLATE)

View file

@ -7,6 +7,88 @@ set(SDL_STATIC OFF CACHE BOOL "Build a static version of the library" FORCE)
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_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_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)
add_subdirectory(sdl ${CMAKE_BINARY_DIR}/temp/sdl2 EXCLUDE_FROM_ALL)
add_subdirectory(nativeFileDialogs ${CMAKE_BINARY_DIR}/temp/nfd EXCLUDE_FROM_ALL)
@ -88,4 +170,10 @@ add_subdirectory(pcre ${CMAKE_BINARY_DIR}/temp/pcre EXCLUDE_FROM_ALL)
add_subdirectory(convexDecomp ${CMAKE_BINARY_DIR}/temp/convexDecomp EXCLUDE_FROM_ALL)
add_subdirectory(squish ${CMAKE_BINARY_DIR}/temp/squish EXCLUDE_FROM_ALL)
add_subdirectory(collada ${CMAKE_BINARY_DIR}/temp/collada EXCLUDE_FROM_ALL)
add_subdirectory(glad ${CMAKE_BINARY_DIR}/temp/glad EXCLUDE_FROM_ALL)
add_subdirectory(glad ${CMAKE_BINARY_DIR}/temp/glad EXCLUDE_FROM_ALL)
#if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
add_subdirectory(libvorbis ${CMAKE_BINARY_DIR}/temp/libvorbis EXCLUDE_FROM_ALL)
add_subdirectory(libogg ${CMAKE_BINARY_DIR}/temp/libogg EXCLUDE_FROM_ALL)
add_subdirectory(libtheora ${CMAKE_BINARY_DIR}/temp/libtheora EXCLUDE_FROM_ALL)
#endif()

View file

@ -1,3 +1,11 @@
file(GLOB LIBOGG_SOURCE_FILES "src/*.c")
add_library(libogg ${LIBOGG_SOURCE_FILES})
target_include_directories(libogg PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
#if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
project(libogg)
file(GLOB LIBOGG_SOURCE_FILES "src/*.c")
file(GLOB LIBOGG_HEADER_FILES "include/ogg/*.h")
set(LIBOGG_FILES ${LIBOGG_SOURCE_FILES} ${LIBOGG_HEADER_FILES})
add_library(libogg ${LIBOGG_FILES})
set_target_properties(libogg PROPERTIES LINKER_LANGUAGE CXX)
target_include_directories(libogg PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${CMAKE_CURRENT_SOURCE_DIR}/include")
#set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libogg)
#endif()

View file

@ -1,17 +1,23 @@
file(GLOB LIBTHEORA_SOURCE_FILES "lib/*.c")
#if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
project(libtheora)
file(GLOB LIBTHEORA_SOURCE_FILES "lib/*.c" "lib/*.h")
file(GLOB LIBTHEORA_HEADER_FILES "include/theora/*.h")
set(LIBTHEORA_FILES ${LIBTHEORA_SOURCE_FILES} ${LIBTHEORA_HEADER_FILES})
set(LIBTHEORA_COMPILE_DEFINES "")
if (WIN32 AND TORQUE_CPU_X32)
file(GLOB LIBTHEORA_SOURCE_FILES_X86_VC "lib/x86_vc/*.c")
set(LIBTHEORA_FILES ${LIBTHEORA_FILES} ${LIBTHEORA_SOURCE_FILES_X86_VC})
set(LIBTHEORA_COMPILE_DEFINES ${LIBTHEORA_COMPILE_DEFINES} OC_X86_ASM)
elseif (TORQUE_CPU_X32)
file(GLOB LIBTHEORA_SOURCE_FILES_X86_VC "lib/x86/*.c")
set(LIBTHEORA_FILES ${LIBTHEORA_FILES} ${LIBTHEORA_SOURCE_FILES_X86_VC})
set(LIBTHEORA_COMPILE_DEFINES ${LIBTHEORA_COMPILE_DEFINES} OC_X86_ASM)
endif (WIN32 AND TORQUE_CPU_X32)
set(LIBTHEORA_COMPILE_DEFINES "")
if (WIN32 AND TORQUE_CPU_X32)
file(GLOB LIBTHEORA_SOURCE_FILES_X86_VC "lib/x86_vc/*.c")
set(LIBTHEORA_SOURCE_FILES ${LIBTHEORA_SOURCE_FILES} ${LIBTHEORA_SOURCE_FILES_X86_VC})
set(LIBTHEORA_COMPILE_DEFINES ${LIBTHEORA_COMPILE_DEFINES} OC_X86_ASM)
elseif (TORQUE_CPU_X32)
file(GLOB LIBTHEORA_SOURCE_FILES_X86_VC "lib/x86/*.c")
set(LIBTHEORA_SOURCE_FILES ${LIBTHEORA_SOURCE_FILES} ${LIBTHEORA_SOURCE_FILES_X86_VC})
set(LIBTHEORA_COMPILE_DEFINES ${LIBTHEORA_COMPILE_DEFINES} OC_X86_ASM)
endif (WIN32 AND TORQUE_CPU_X32)
add_library(libtheora ${LIBTHEORA_SOURCE_FILES})
target_include_directories(libtheora PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(libtheora PUBLIC libogg)
target_compile_definitions(libtheora PUBLIC ${LIBTHEORA_COMPILE_DEFINES})
add_library(libtheora ${LIBTHEORA_FILES})
target_include_directories(libtheora PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(libtheora PUBLIC libogg)
target_compile_definitions(libtheora PUBLIC ${LIBTHEORA_COMPILE_DEFINES})
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${CMAKE_CURRENT_SOURCE_DIR}/include/theora")
#set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libtheora)
#endif()

View file

@ -1,8 +1,17 @@
file(GLOB LIBVORBIS_SOURCE_FILES "lib/*.c")
add_library(libvorbis ${LIBVORBIS_SOURCE_FILES})
target_include_directories(libvorbis PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(libvorbis PUBLIC libogg)
#if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
project(libvorbis)
file(GLOB LIBVORBIS_SOURCE_FILES "lib/*.c")
file(GLOB LIBVORBIS_HEADER_FILES "include/vorbis/*.h")
set(LIBVORBIS_FILES ${LIBVORBIS_SOURCE_FILES} ${LIBVORBIS_HEADER_FILES})
if (UNIX)
target_include_directories(libvorbis PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/lib")
endif (UNIX)
add_library(libvorbis ${LIBVORBIS_FILES})
target_include_directories(libvorbis PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(libvorbis PUBLIC libogg)
if (UNIX)
target_include_directories(libvorbis PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/lib")
endif (UNIX)
set(TORQUE_INCLUDE_DIRECTORIES ${TORQUE_INCLUDE_DIRECTORIES} "${CMAKE_CURRENT_SOURCE_DIR}/include/vorbis")
#set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libvorbis)
#endif()

View file

@ -5,26 +5,7 @@ if (APPLE)
enable_language(OBJC)
endif (APPLE)
################# Initialize Common Variables ###################
# All include directories to search. Modules should append to this when they want includes to point
# into themselves.
set(TORQUE_INCLUDE_DIRECTORIES "")
# All library binaries to install. Modules should append to this the path of any library binaries (.so, .dylib, .dll)
# that should be installed next to the executable.
set(TORQUE_ADDITIONAL_LIBRARY_BINARIES "")
# All compile definitions. Modules should append to this if there is any special defines needed.
set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING TORQUE_SHADERGEN
TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA
TORQUE_UNICODE UNICODE _UNICODE)
# All link libraries. Modules should append to this the path to specify additional link libraries (.a, .lib, .dylib, .so)
set(TORQUE_LINK_LIBRARIES tinyxml collada ljpeg squish png_static opcode assimp
SDL2 glad pcre convexDecomp zlib)
################# Helper Functions ###################
################# Helper Function Calls ###################
forwardDef(TORQUE_OPENGL)
forwardDef(TORQUE_D3D11)
forwardDef(TORQUE_ADVANCED_LIGHTING)
@ -126,7 +107,9 @@ if(TORQUE_SFX_OPENAL AND NOT TORQUE_DEDICATED)
torqueAddSourceDirectories("sfx/openal/mac")
endif()
endif()
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libogg)
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libvorbis)
set(TORQUE_LINK_LIBRARIES ${TORQUE_LINK_LIBRARIES} libtheora)
# Handle GFX
torqueAddSourceDirectories("gfx" "gfx/Null" "gfx/test" "gfx/bitmap" "gfx/bitmap/loaders"
"gfx/util" "gfx/video" "gfx/sim" )
@ -334,6 +317,7 @@ addDef(TORQUE_DEBUG Debug)
addDef(TORQUE_RELEASE "RelWithDebInfo;Release")
addDef(TORQUE_ENABLE_ASSERTS "Debug;RelWithDebInfo")
addDef(TORQUE_DEBUG_GFX_MODE "RelWithDebInfo")
addDef(TORQUE_OGGVORBIS)
if(NOT TORQUE_SDL)
filterOut("platform/nativeDialogs/fileDialog.cpp" )

View file

@ -1,3 +1,22 @@
################# Initialize Common Variables ###################
# All include directories to search. Modules should append to this when they want includes to point
# into themselves.
set(TORQUE_INCLUDE_DIRECTORIES "")
# All library binaries to install. Modules should append to this the path of any library binaries (.so, .dylib, .dll)
# that should be installed next to the executable.
set(TORQUE_ADDITIONAL_LIBRARY_BINARIES "")
# All compile definitions. Modules should append to this if there is any special defines needed.
set(TORQUE_COMPILE_DEFINITIONS ICE_NO_DLL PCRE_STATIC TORQUE_ADVANCED_LIGHTING TORQUE_SHADERGEN
TORQUE_OPCODE TORQUE_ASSIMP TORQUE_SDL TORQUE_COLLADA
TORQUE_UNICODE UNICODE _UNICODE)
# All link libraries. Modules should append to this the path to specify additional link libraries (.a, .lib, .dylib, .so)
set(TORQUE_LINK_LIBRARIES tinyxml collada ljpeg squish png_static opcode assimp
SDL2 glad pcre convexDecomp zlib)
#general
advanced_option(TORQUE_MULTITHREAD "Multi Threading" ON)
advanced_option(TORQUE_DISABLE_MEMORY_MANAGER "Disable memory manager" ON)
@ -57,8 +76,8 @@ if(AL_ALEXT_PROTOTYPES)
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_INSTALL_EXAMPLES "Install example programs (alplay, alstream, ...)" ON)
advanced_option(ALSOFT_INSTALL_UTILS "Install utility programs (openal-info, alsoft-config, ...)" ON)
@ -115,6 +134,5 @@ if(TORQUE_SFX_OPENAL)
#the following is from openal-soft
mark_as_advanced(SDL2MAIN_LIBRARY)
mark_as_advanced(SDL2_CORE_LIBRARY)
mark_as_advanced(SDL2_INCLUDE_DIR)
mark_as_advanced(SDL2_INCLUDE_DIR)
endif()