Browse Source

* BugFix: Add missing oggvorbis/theora support.

Robert MacGregor 3 years ago
parent
commit
4efd59ceb3

+ 5 - 9
Engine/lib/CMakeLists.txt

@@ -6,8 +6,10 @@ add_subdirectory(sdl ${CMAKE_BINARY_DIR}/temp/sdl2 EXCLUDE_FROM_ALL)
 # Png depends on zlib
 add_subdirectory(zlib ${CMAKE_BINARY_DIR}/temp/zlib EXCLUDE_FROM_ALL)
 
-# FIXME: For now we force-on Neon
-set(PNG_ARM_NEON on CACHE BOOL "" FORCE)
+if (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)
+	set(PNG_ARM_NEON on CACHE BOOL "" FORCE)
+endif (TORQUE_CPU_ARM32 OR TORQUE_CPU_ARM64)
+
 set(PNG_STATIC on CACHE BOOL "" FORCE)
 set(PNG_BUILD_ZLIB on CACHE BOOL "" FORCE)
 get_filename_component(ZLIB_ROOT "zlib" REALPATH BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
@@ -19,18 +21,12 @@ set(ASSIMP_BUILD_ZLIB on CACHE STRING "")
 set(ASSIMP_HUNTER_ENABLED off CACHE STRING "")
 add_subdirectory(assimp ${CMAKE_BINARY_DIR}/temp/assimp EXCLUDE_FROM_ALL)
 
-
-
 add_subdirectory(lpng ${CMAKE_BINARY_DIR}/temp/lpng EXCLUDE_FROM_ALL)
-
 add_subdirectory(ljpeg ${CMAKE_BINARY_DIR}/temp/ljpeg EXCLUDE_FROM_ALL)
 add_subdirectory(tinyxml ${CMAKE_BINARY_DIR}/temp/tinyxml EXCLUDE_FROM_ALL)
-
 add_subdirectory(opcode ${CMAKE_BINARY_DIR}/temp/opcode EXCLUDE_FROM_ALL)
-
-
 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)

+ 3 - 0
Engine/lib/libogg/CMakeLists.txt

@@ -0,0 +1,3 @@
+file(GLOB LIBOGG_SOURCE_FILES "src/*.c")
+add_library(libogg ${LIBOGG_SOURCE_FILES})
+target_include_directories(libogg PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")

+ 17 - 0
Engine/lib/libtheora/CMakeLists.txt

@@ -0,0 +1,17 @@
+file(GLOB LIBTHEORA_SOURCE_FILES "lib/*.c")
+
+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})

+ 8 - 0
Engine/lib/libvorbis/CMakeLists.txt

@@ -0,0 +1,8 @@
+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 (UNIX)
+	target_include_directories(libvorbis PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/lib")
+endif (UNIX)