mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-20 04:34:48 +00:00
added libraries: opus flac libsndfile updated: libvorbis libogg openal - Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
288 lines
12 KiB
CMake
288 lines
12 KiB
CMake
# 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)
|
|
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)
|
|
|
|
add_subdirectory(sdl ${TORQUE_LIB_TARG_DIRECTORY}/sdl2 EXCLUDE_FROM_ALL)
|
|
|
|
add_subdirectory(nativeFileDialogs ${TORQUE_LIB_TARG_DIRECTORY}/nfd EXCLUDE_FROM_ALL)
|
|
|
|
# Assimp
|
|
advanced_option(ASSIMP_HUNTER_ENABLED "Enable Hunter package manager support" OFF)
|
|
set(ASSIMP_BUILD_NO_OWN_ZLIB ON CACHE BOOL "" FORCE)
|
|
mark_as_advanced(ASSIMP_BUILD_NO_OWN_ZLIB)
|
|
advanced_option(BUILD_SHARED_LIBS "Build package with shared libraries." OFF )
|
|
advanced_option(ASSIMP_BUILD_FRAMEWORK "Build package as Mac OS X Framework bundle." OFF )
|
|
advanced_option(ASSIMP_DOUBLE_PRECISION "Set to ON to enable double precision processing" OFF )
|
|
advanced_option(ASSIMP_OPT_BUILD_PACKAGES "Set to ON to generate CPack configuration files and packaging targets" OFF )
|
|
advanced_option(ASSIMP_ANDROID_JNIIOSYSTEM "Android JNI IOSystem support is active" OFF )
|
|
advanced_option(ASSIMP_NO_EXPORT "Disable Assimp's export functionality." OFF )
|
|
advanced_option(ASSIMP_BUILD_ASSIMP_TOOLS "If the supplementary tools for Assimp are built in addition to the library." OFF )
|
|
advanced_option(ASSIMP_BUILD_SAMPLES "If the official samples are built as well (needs Glut)." OFF )
|
|
advanced_option(ASSIMP_BUILD_TESTS "If the test suite for Assimp is built in addition to the library." OFF )
|
|
advanced_option(ASSIMP_COVERALLS "Enable this to measure test coverage." OFF )
|
|
advanced_option(ASSIMP_INSTALL "Disable this if you want to use assimp as a submodule." OFF )
|
|
advanced_option(ASSIMP_WARNINGS_AS_ERRORS "Treat all warnings as errors." OFF )
|
|
advanced_option(ASSIMP_ASAN "Enable AddressSanitizer." OFF )
|
|
advanced_option(ASSIMP_UBSAN "Enable Undefined Behavior sanitizer." OFF )
|
|
advanced_option(ASSIMP_BUILD_DOCS "Build documentation using Doxygen." OFF )
|
|
advanced_option(ASSIMP_INJECT_DEBUG_POSTFIX "Inject debug postfix in .a/.so/.dll lib names" ON )
|
|
advanced_option(ASSIMP_IGNORE_GIT_HASH "Don't call git to get the hash." ON )
|
|
advanced_option(ASSIMP_BUILD_ZLIB "Build your own zlib" OFF )
|
|
advanced_option(ASSIMP_ANDROID_JNIIOSYSTEM "Android JNI IOSystem support is active" ON)
|
|
advanced_option(ASSIMP_BUILD_DRACO "If the Draco libraries are to be built. Primarily for glTF" OFF )
|
|
advanced_option(ASSIMP_BUILD_NONFREE_C4D_IMPORTER "Build the C4D importer, which relies on the non-free Cineware SDK." OFF)
|
|
IF(MSVC)
|
|
advanced_option( ASSIMP_INSTALL_PDB "Install MSVC debug files." ON )
|
|
endif()
|
|
advanced_option(ASSIMP_RAPIDJSON_NO_MEMBER_ITERATOR "Suppress rapidjson warning on MSVC (NOTE: breaks android build)" ON )
|
|
advanced_option(ASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT "default value of all ASSIMP_BUILD_XXX_IMPORTER values" ON)
|
|
advanced_option(ASSIMP_BUILD_ALL_EXPORTERS_BY_DEFAULT "default value of all ASSIMP_BUILD_XXX_EXPORTER values" ON)
|
|
mark_as_advanced(ASSIMP_ARCHIVE_OUTPUT_DIRECTORY)
|
|
mark_as_advanced(ASSIMP_BIN_INSTALL_DIR)
|
|
mark_as_advanced(ASSIMP_LIB_INSTALL_DIR)
|
|
mark_as_advanced(ASSIMP_INCLUDE_INSTALL_DIR)
|
|
mark_as_advanced(ASSIMP_LIBRARY_OUTPUT_DIRECTORY)
|
|
mark_as_advanced(ASSIMP_LIBRARY_SUFFIX)
|
|
mark_as_advanced(ASSIMP_PACKAGE_VERSION)
|
|
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 on 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)
|
|
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(tinyxml ${TORQUE_LIB_TARG_DIRECTORY}/tinyxml 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(convexDecomp ${TORQUE_LIB_TARG_DIRECTORY}/convexDecomp 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)
|
|
|
|
#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)
|
|
advanced_option(ALSOFT_UPDATE_BUILD_VERSION "Update git build version info" ON)
|
|
mark_as_advanced(ALSOFT_REQUIRE_OBOE)
|
|
mark_as_advanced(ALSOFT_REQUIRE_PIPEWIRE)
|
|
mark_as_advanced(ALSOFT_REQUIRE_RTKIT)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SSE3)
|
|
#Hide some unnecessary fields as advanced
|
|
mark_as_advanced(ALSOFT_INSTALL_AMBDEC_PRESETS)
|
|
mark_as_advanced(ALSOFT_BACKEND_DSOUND)
|
|
mark_as_advanced(ALSOFT_BACKEND_MMDEVAPI)
|
|
mark_as_advanced(ALSOFT_BACKEND_WAVE)
|
|
mark_as_advanced(ALSOFT_BACKEND_WINMM)
|
|
mark_as_advanced(ALSOFT_INSTALL_CONFIG)
|
|
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_EMBED_HRTF_DATA)
|
|
mark_as_advanced(ALSOFT_EXAMPLES)
|
|
mark_as_advanced(ALSOFT_INSTALL_HRTF_DATA)
|
|
mark_as_advanced(ALSOFT_INSTALL)
|
|
mark_as_advanced(ALSOFT_NO_CONFIG_UTIL)
|
|
mark_as_advanced(ALSOFT_NO_UID_DEFS)
|
|
mark_as_advanced(ALSOFT_REQUIRE_ALSA)
|
|
mark_as_advanced(ALSOFT_REQUIRE_COREAUDIO)
|
|
mark_as_advanced(ALSOFT_REQUIRE_DSOUND)
|
|
mark_as_advanced(ALSOFT_REQUIRE_JACK)
|
|
mark_as_advanced(ALSOFT_REQUIRE_MMDEVAPI)
|
|
mark_as_advanced(ALSOFT_REQUIRE_NEON)
|
|
mark_as_advanced(ALSOFT_REQUIRE_OPENSL)
|
|
mark_as_advanced(ALSOFT_REQUIRE_OSS)
|
|
mark_as_advanced(ALSOFT_REQUIRE_PORTAUDIO)
|
|
mark_as_advanced(ALSOFT_REQUIRE_PULSEAUDIO)
|
|
mark_as_advanced(ALSOFT_REQUIRE_QSA)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SNDIO)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SOLARIS)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SSE)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SSE2)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SSE4_1)
|
|
mark_as_advanced(ALSOFT_REQUIRE_WINMM)
|
|
mark_as_advanced(ALSOFT_TESTS)
|
|
mark_as_advanced(ALSOFT_UTILS)
|
|
mark_as_advanced(ALSOFT_WERROR)
|
|
mark_as_advanced(COREAUDIO_FRAMEWORK)
|
|
mark_as_advanced(CMAKE_DEBUG_POSTFIX)
|
|
mark_as_advanced(FORCE_STATIC_VCRT)
|
|
mark_as_advanced(ALSOFT_BACKEND_WASAPI)
|
|
mark_as_advanced(ALSOFT_BUILD_ROUTER)
|
|
mark_as_advanced(ALSOFT_REQUIRE_SDL2)
|
|
mark_as_advanced(ALSOFT_REQUIRE_WASAPI)
|
|
mark_as_advanced(ALSOFT_BACKEND_COREAUDIO)
|
|
mark_as_advanced(ALSOFT_OSX_FRAMEWORK)
|
|
mark_as_advanced(ALSOFT_STATIC_LIBGCC)
|
|
mark_as_advanced(ALSOFT_STATIC_STDCXX)
|
|
mark_as_advanced(AUDIOTOOLBOX_LIBRARY)
|
|
mark_as_advanced(AUDIOUNIT_INCLUDE_DIR)
|
|
endif()
|
|
|
|
set(INSTALL_DOCS OFF CACHE BOOL "" FORCE)
|
|
set(INSTALL_PKG_CONFIG_MODULE OFF CACHE BOOL "" FORCE)
|
|
set(INSTALL_CMAKE_PACKAGE_MODULE OFF CACHE BOOL "" FORCE)
|
|
|
|
add_subdirectory(libogg ${TORQUE_LIB_TARG_DIRECTORY}/libogg )
|
|
add_subdirectory(libvorbis ${TORQUE_LIB_TARG_DIRECTORY}/libvorbis EXCLUDE_FROM_ALL)
|
|
|
|
set(INSTALL_PKGCONFIG_MODULES OFF CACHE BOOL "" FORCE)
|
|
set(INSTALL_CMAKE_CONFIG_MODULE OFF CACHE BOOL "" FORCE)
|
|
add_subdirectory(flac ${TORQUE_LIB_TARG_DIRECTORY}/flac EXCLUDE_FROM_ALL)
|
|
|
|
set(INSTALL_DOCS OFF CACHE BOOL "" FORCE)
|
|
set(OPUS_INSTALL_PKG_CONFIG_MODULE OFF CACHE BOOL "" FORCE)
|
|
set(OPUS_INSTALL_CMAKE_CONFIG_MODULE OFF CACHE BOOL "" FORCE)
|
|
add_subdirectory(opus ${TORQUE_LIB_TARG_DIRECTORY}/opus EXCLUDE_FROM_ALL)
|
|
add_subdirectory(libtheora ${TORQUE_LIB_TARG_DIRECTORY}/libtheora EXCLUDE_FROM_ALL)
|
|
|
|
set(BUILD_PROGRAMS OFF CACHE BOOL "" FORCE)
|
|
set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
|
set(ENABLE_CPACK OFF CACHE BOOL "" FORCE)
|
|
set(ENABLE_PACKAGE_CONFIG OFF CACHE BOOL "" FORCE)
|
|
set(INSTALL_PKGCONFIG_MODULE OFF CACHE BOOL "" FORCE)
|
|
add_subdirectory(libsndfile ${TORQUE_LIB_TARG_DIRECTORY}/libsndfile EXCLUDE_FROM_ALL)
|
|
|
|
if(TORQUE_TESTING)
|
|
add_subdirectory(gtest ${TORQUE_LIB_TARG_DIRECTORY}/gtest EXCLUDE_FROM_ALL)
|
|
endif()
|
|
#endif() |