mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			512 lines
		
	
	
		
			No EOL
		
	
	
		
			14 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			512 lines
		
	
	
		
			No EOL
		
	
	
		
			14 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| macro(export)
 | |
| endmacro()
 | |
| 
 | |
| if(SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES)
 | |
| 	set(SRB2_INTERNAL_LIBRARY_TYPE SHARED)
 | |
| 	set(NOT_SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES OFF)
 | |
| else()
 | |
| 	set(SRB2_INTERNAL_LIBRARY_TYPE STATIC)
 | |
| 	set(NOT_SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES ON)
 | |
| endif()
 | |
| 
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME SDL2
 | |
| 		VERSION 2.24.2
 | |
| 		URL "https://github.com/libsdl-org/SDL/archive/refs/tags/release-2.24.2.zip"
 | |
| 		EXCLUDE_FROM_ALL ON
 | |
| 		OPTIONS
 | |
| 			"BUILD_SHARED_LIBS ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}"
 | |
| 			"SDL_SHARED ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}"
 | |
| 			"SDL_STATIC ${NOT_SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}"
 | |
| 			"SDL_TEST OFF"
 | |
| 			"SDL2_DISABLE_SDL2MAIN ON"
 | |
| 			"SDL2_DISABLE_INSTALL ON"
 | |
| 	)
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME SDL2_mixer
 | |
| 		VERSION 2.6.2
 | |
| 		URL "https://github.com/libsdl-org/SDL_mixer/archive/refs/tags/release-2.6.2.zip"
 | |
| 		EXCLUDE_FROM_ALL ON
 | |
| 		OPTIONS
 | |
| 			"BUILD_SHARED_LIBS ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}"
 | |
| 			"SDL2MIXER_INSTALL OFF"
 | |
| 			"SDL2MIXER_DEPS_SHARED OFF"
 | |
| 			"SDL2MIXER_SAMPLES OFF"
 | |
| 			"SDL2MIXER_VENDORED ON"
 | |
| 			"SDL2MIXER_FLAC ON"
 | |
| 			"SDL2MIXER_FLAC_LIBFLAC OFF"
 | |
| 			"SDL2MIXER_FLAC_DRFLAC ON"
 | |
| 			"SDL2MIXER_MOD OFF"
 | |
| 			"SDL2MIXER_MP3 ON"
 | |
| 			"SDL2MIXER_MP3_DRMP3 ON"
 | |
| 			"SDL2MIXER_MIDI ON"
 | |
| 			"SDL2MIXER_OPUS OFF"
 | |
| 			"SDL2MIXER_VORBIS STB"
 | |
| 			"SDL2MIXER_WAVE ON"
 | |
| 	)
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME ZLIB
 | |
| 		VERSION 1.2.13
 | |
| 		URL "https://github.com/madler/zlib/archive/refs/tags/v1.2.13.zip"
 | |
| 		EXCLUDE_FROM_ALL
 | |
| 		OPTIONS
 | |
| 			# The assembly optimizations are unmaintained and slated to be removed
 | |
| 			"ASM686 Off"
 | |
| 			"AMD64 Off"
 | |
| 			"SKIP_INSTALL_ALL ON"
 | |
| 	)
 | |
| 	file(MAKE_DIRECTORY "${zlib_BINARY_DIR}/include")
 | |
| 	file(COPY "${zlib_SOURCE_DIR}/zlib.h" DESTINATION "${zlib_BINARY_DIR}/include")
 | |
| 	file(COPY "${zlib_BINARY_DIR}/zconf.h" DESTINATION "${zlib_BINARY_DIR}/include")
 | |
| 	# honestly this should probably be built like png is
 | |
| 	set_target_properties(zlib PROPERTIES EXCLUDE_FROM_ALL ON)
 | |
| 	set_target_properties(minigzip PROPERTIES EXCLUDE_FROM_ALL ON)
 | |
| 	set_target_properties(example PROPERTIES EXCLUDE_FROM_ALL ON)
 | |
| 	# zlib cmake also adds these 64 targets separately
 | |
| 	if(HAVE_OFF64_T)
 | |
| 		set_target_properties(minigzip64 PROPERTIES EXCLUDE_FROM_ALL ON)
 | |
| 		set_target_properties(example64 PROPERTIES EXCLUDE_FROM_ALL ON)
 | |
| 	endif()
 | |
| 	target_include_directories(zlib INTERFACE "${zlib_BINARY_DIR}/include")
 | |
| 	target_include_directories(zlibstatic INTERFACE "${zlib_BINARY_DIR}/include")
 | |
| 	if(SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES)
 | |
| 		add_library(ZLIB::ZLIB ALIAS zlib)
 | |
| 	else()
 | |
| 		add_library(ZLIB::ZLIB ALIAS zlibstatic)
 | |
| 	endif()
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME png
 | |
| 		VERSION 1.6.38
 | |
| 		URL "https://github.com/glennrp/libpng/archive/refs/tags/v1.6.38.zip"
 | |
| 		# png cmake build is broken on msys/mingw32
 | |
| 		DOWNLOAD_ONLY YES
 | |
| 	)
 | |
| 
 | |
| 	if(png_ADDED)
 | |
| 		# Since png's cmake build is broken, we're going to create a target manually
 | |
| 		set(
 | |
| 			PNG_SOURCES
 | |
| 
 | |
| 			png.h
 | |
| 			pngconf.h
 | |
| 			
 | |
| 			pngpriv.h
 | |
| 			pngdebug.h
 | |
| 			pnginfo.h
 | |
| 			pngstruct.h
 | |
| 
 | |
| 			png.c
 | |
| 			pngerror.c
 | |
| 			pngget.c
 | |
| 			pngmem.c
 | |
| 			pngpread.c
 | |
| 			pngread.c
 | |
| 			pngrio.c
 | |
| 			pngrtran.c
 | |
| 			pngrutil.c
 | |
| 			pngset.c
 | |
| 			pngtrans.c
 | |
| 			pngwio.c
 | |
| 			pngwrite.c
 | |
| 			pngwtran.c
 | |
| 			pngwutil.c
 | |
| 		)
 | |
| 		list(TRANSFORM PNG_SOURCES PREPEND "${png_SOURCE_DIR}/")
 | |
| 
 | |
| 		add_custom_command(
 | |
| 			OUTPUT "${png_BINARY_DIR}/include/png.h" "${png_BINARY_DIR}/include/pngconf.h"
 | |
| 			COMMAND ${CMAKE_COMMAND} -E copy "${png_SOURCE_DIR}/png.h" "${png_SOURCE_DIR}/pngconf.h" "${png_BINARY_DIR}/include"
 | |
| 			DEPENDS "${png_SOURCE_DIR}/png.h" "${png_SOURCE_DIR}/pngconf.h"
 | |
| 			VERBATIM
 | |
| 		)
 | |
| 		add_custom_command(
 | |
| 			OUTPUT "${png_BINARY_DIR}/include/pnglibconf.h"
 | |
| 			COMMAND ${CMAKE_COMMAND} -E copy "${png_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt" "${png_BINARY_DIR}/include/pnglibconf.h"
 | |
| 			DEPENDS "${png_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt"
 | |
| 			VERBATIM
 | |
| 		)
 | |
| 		list(
 | |
| 			APPEND PNG_SOURCES
 | |
| 			"${png_BINARY_DIR}/include/png.h"
 | |
| 			"${png_BINARY_DIR}/include/pngconf.h"
 | |
| 			"${png_BINARY_DIR}/include/pnglibconf.h"
 | |
| 		)
 | |
| 		add_library(png "${SRB2_INTERNAL_LIBRARY_TYPE}" ${PNG_SOURCES})
 | |
| 
 | |
| 		# Disable ARM NEON since having it automatic breaks libpng external build on clang for some reason
 | |
| 		target_compile_definitions(png PRIVATE -DPNG_ARM_NEON_OPT=0)
 | |
| 
 | |
| 		# The png includes need to be available to consumers
 | |
| 		target_include_directories(png PUBLIC "${png_BINARY_DIR}/include")
 | |
| 
 | |
| 		# ... and these also need to be present only for png build
 | |
| 		target_include_directories(png PRIVATE "${zlib_SOURCE_DIR}")
 | |
| 		target_include_directories(png PRIVATE "${zlib_BINARY_DIR}")
 | |
| 		target_include_directories(png PRIVATE "${png_BINARY_DIR}")
 | |
| 
 | |
| 		target_link_libraries(png PRIVATE ZLIB::ZLIB)
 | |
| 		add_library(PNG::PNG ALIAS png)
 | |
| 	endif()
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	set(
 | |
| 		internal_curl_options
 | |
| 
 | |
| 		"BUILD_CURL_EXE OFF"
 | |
| 		"BUILD_SHARED_LIBS ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}"
 | |
| 		"CURL_DISABLE_TESTS ON"
 | |
| 		"HTTP_ONLY ON"
 | |
| 		"CURL_DISABLE_CRYPTO_AUTH ON"
 | |
| 		"CURL_DISABLE_NTLM ON"
 | |
| 		"ENABLE_MANUAL OFF"
 | |
| 		"ENABLE_THREADED_RESOLVER OFF"
 | |
| 		"CURL_USE_LIBPSL OFF"
 | |
| 		"CURL_USE_LIBSSH2 OFF"
 | |
| 		"USE_LIBIDN2 OFF"
 | |
| 		"CURL_ENABLE_EXPORT_TARGET OFF"
 | |
| 	)
 | |
| 	if(${CMAKE_SYSTEM} MATCHES Windows)
 | |
| 		list(APPEND internal_curl_options "CURL_USE_OPENSSL OFF")
 | |
| 		list(APPEND internal_curl_options "CURL_USE_SCHANNEL ON")
 | |
| 	endif()
 | |
| 	if(${CMAKE_SYSTEM} MATCHES Darwin)
 | |
| 		list(APPEND internal_curl_options "CURL_USE_OPENSSL OFF")
 | |
| 		list(APPEND internal_curl_options "CURL_USE_SECTRANSP ON")
 | |
| 	endif()
 | |
| 	if(${CMAKE_SYSTEM} MATCHES Linux)
 | |
| 		list(APPEND internal_curl_options "CURL_USE_OPENSSL ON")
 | |
| 	endif()
 | |
| 
 | |
| 	CPMAddPackage(
 | |
| 		NAME curl
 | |
| 		VERSION 7.86.0
 | |
| 		URL "https://github.com/curl/curl/archive/refs/tags/curl-7_86_0.zip"
 | |
| 		EXCLUDE_FROM_ALL ON
 | |
| 		OPTIONS ${internal_curl_options}
 | |
| 	)
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME openmpt
 | |
| 		VERSION 0.4.30
 | |
| 		URL "https://github.com/OpenMPT/openmpt/archive/refs/tags/libopenmpt-0.4.30.zip"
 | |
| 		DOWNLOAD_ONLY ON
 | |
| 	)
 | |
| 
 | |
| 	if(openmpt_ADDED)
 | |
| 		set(
 | |
| 			openmpt_SOURCES
 | |
| 
 | |
| 			# minimp3
 | |
| 			# -DMPT_WITH_MINIMP3
 | |
| 			include/minimp3/minimp3.c
 | |
| 
 | |
| 			common/mptStringParse.cpp
 | |
| 			common/mptLibrary.cpp
 | |
| 			common/Logging.cpp
 | |
| 			common/Profiler.cpp
 | |
| 			common/version.cpp
 | |
| 			common/mptCPU.cpp
 | |
| 			common/ComponentManager.cpp
 | |
| 			common/mptOS.cpp
 | |
| 			common/serialization_utils.cpp
 | |
| 			common/mptStringFormat.cpp
 | |
| 			common/FileReader.cpp
 | |
| 			common/mptWine.cpp
 | |
| 			common/mptPathString.cpp
 | |
| 			common/mptAlloc.cpp
 | |
| 			common/mptUUID.cpp
 | |
| 			common/mptTime.cpp
 | |
| 			common/mptString.cpp
 | |
| 			common/mptFileIO.cpp
 | |
| 			common/mptStringBuffer.cpp
 | |
| 			common/mptRandom.cpp
 | |
| 			common/mptIO.cpp
 | |
| 			common/misc_util.cpp
 | |
| 
 | |
| 			common/mptCRC.h
 | |
| 			common/mptLibrary.h
 | |
| 			common/mptIO.h
 | |
| 			common/version.h
 | |
| 			common/stdafx.h
 | |
| 			common/ComponentManager.h
 | |
| 			common/Endianness.h
 | |
| 			common/mptStringFormat.h
 | |
| 			common/mptMutex.h
 | |
| 			common/mptUUID.h
 | |
| 			common/mptExceptionText.h
 | |
| 			common/BuildSettings.h
 | |
| 			common/mptAlloc.h
 | |
| 			common/mptTime.h
 | |
| 			common/FileReaderFwd.h
 | |
| 			common/Logging.h
 | |
| 			common/mptException.h
 | |
| 			common/mptWine.h
 | |
| 			common/mptStringBuffer.h
 | |
| 			common/misc_util.h
 | |
| 			common/mptBaseMacros.h
 | |
| 			common/mptMemory.h
 | |
| 			common/mptFileIO.h
 | |
| 			common/serialization_utils.h
 | |
| 			common/mptSpan.h
 | |
| 			common/mptThread.h
 | |
| 			common/FlagSet.h
 | |
| 			common/mptString.h
 | |
| 			common/mptStringParse.h
 | |
| 			common/mptBaseUtils.h
 | |
| 			common/mptRandom.h
 | |
| 			common/CompilerDetect.h
 | |
| 			common/FileReader.h
 | |
| 			common/mptAssert.h
 | |
| 			common/mptPathString.h
 | |
| 			common/Profiler.h
 | |
| 			common/mptOS.h
 | |
| 			common/mptBaseTypes.h
 | |
| 			common/mptCPU.h
 | |
| 			common/mptBufferIO.h
 | |
| 			common/versionNumber.h
 | |
| 
 | |
| 			soundlib/WAVTools.cpp
 | |
| 			soundlib/ITTools.cpp
 | |
| 			soundlib/AudioCriticalSection.cpp
 | |
| 			soundlib/Load_stm.cpp
 | |
| 			soundlib/MixerLoops.cpp
 | |
| 			soundlib/Load_dbm.cpp
 | |
| 			soundlib/ModChannel.cpp
 | |
| 			soundlib/Load_gdm.cpp
 | |
| 			soundlib/Snd_fx.cpp
 | |
| 			soundlib/Load_mid.cpp
 | |
| 			soundlib/mod_specifications.cpp
 | |
| 			soundlib/Snd_flt.cpp
 | |
| 			soundlib/Load_psm.cpp
 | |
| 			soundlib/Load_far.cpp
 | |
| 			soundlib/patternContainer.cpp
 | |
| 			soundlib/Load_med.cpp
 | |
| 			soundlib/Load_dmf.cpp
 | |
| 			soundlib/Paula.cpp
 | |
| 			soundlib/modcommand.cpp
 | |
| 			soundlib/Message.cpp
 | |
| 			soundlib/SoundFilePlayConfig.cpp
 | |
| 			soundlib/Load_uax.cpp
 | |
| 			soundlib/plugins/PlugInterface.cpp
 | |
| 			soundlib/plugins/LFOPlugin.cpp
 | |
| 			soundlib/plugins/PluginManager.cpp
 | |
| 			soundlib/plugins/DigiBoosterEcho.cpp
 | |
| 			soundlib/plugins/dmo/DMOPlugin.cpp
 | |
| 			soundlib/plugins/dmo/Flanger.cpp
 | |
| 			soundlib/plugins/dmo/Distortion.cpp
 | |
| 			soundlib/plugins/dmo/ParamEq.cpp
 | |
| 			soundlib/plugins/dmo/Gargle.cpp
 | |
| 			soundlib/plugins/dmo/I3DL2Reverb.cpp
 | |
| 			soundlib/plugins/dmo/Compressor.cpp
 | |
| 			soundlib/plugins/dmo/WavesReverb.cpp
 | |
| 			soundlib/plugins/dmo/Echo.cpp
 | |
| 			soundlib/plugins/dmo/Chorus.cpp
 | |
| 			soundlib/Load_ams.cpp
 | |
| 			soundlib/tuningbase.cpp
 | |
| 			soundlib/ContainerUMX.cpp
 | |
| 			soundlib/Load_ptm.cpp
 | |
| 			soundlib/ContainerXPK.cpp
 | |
| 			soundlib/SampleFormatMP3.cpp
 | |
| 			soundlib/tuning.cpp
 | |
| 			soundlib/Sndfile.cpp
 | |
| 			soundlib/ContainerMMCMP.cpp
 | |
| 			soundlib/Load_amf.cpp
 | |
| 			soundlib/Load_669.cpp
 | |
| 			soundlib/modsmp_ctrl.cpp
 | |
| 			soundlib/Load_mtm.cpp
 | |
| 			soundlib/OggStream.cpp
 | |
| 			soundlib/Load_plm.cpp
 | |
| 			soundlib/Tables.cpp
 | |
| 			soundlib/Load_c67.cpp
 | |
| 			soundlib/Load_mod.cpp
 | |
| 			soundlib/Load_sfx.cpp
 | |
| 			soundlib/Sndmix.cpp
 | |
| 			soundlib/load_j2b.cpp
 | |
| 			soundlib/ModSequence.cpp
 | |
| 			soundlib/SampleFormatFLAC.cpp
 | |
| 			soundlib/ModInstrument.cpp
 | |
| 			soundlib/Load_mo3.cpp
 | |
| 			soundlib/ModSample.cpp
 | |
| 			soundlib/Dlsbank.cpp
 | |
| 			soundlib/Load_itp.cpp
 | |
| 			soundlib/UpgradeModule.cpp
 | |
| 			soundlib/MIDIMacros.cpp
 | |
| 			soundlib/ContainerPP20.cpp
 | |
| 			soundlib/RowVisitor.cpp
 | |
| 			soundlib/Load_imf.cpp
 | |
| 			soundlib/SampleFormatVorbis.cpp
 | |
| 			soundlib/Load_dsm.cpp
 | |
| 			soundlib/Load_mt2.cpp
 | |
| 			soundlib/MixerSettings.cpp
 | |
| 			soundlib/S3MTools.cpp
 | |
| 			soundlib/Load_xm.cpp
 | |
| 			soundlib/MIDIEvents.cpp
 | |
| 			soundlib/pattern.cpp
 | |
| 			soundlib/Load_digi.cpp
 | |
| 			soundlib/Load_s3m.cpp
 | |
| 			soundlib/tuningCollection.cpp
 | |
| 			soundlib/SampleIO.cpp
 | |
| 			soundlib/Dither.cpp
 | |
| 			soundlib/Load_mdl.cpp
 | |
| 			soundlib/OPL.cpp
 | |
| 			soundlib/WindowedFIR.cpp
 | |
| 			soundlib/SampleFormats.cpp
 | |
| 			soundlib/Load_wav.cpp
 | |
| 			soundlib/Load_it.cpp
 | |
| 			soundlib/UMXTools.cpp
 | |
| 			soundlib/Load_stp.cpp
 | |
| 			soundlib/Load_okt.cpp
 | |
| 			soundlib/Load_ult.cpp
 | |
| 			soundlib/MixFuncTable.cpp
 | |
| 			soundlib/SampleFormatOpus.cpp
 | |
| 			soundlib/Fastmix.cpp
 | |
| 			soundlib/Tagging.cpp
 | |
| 			soundlib/ITCompression.cpp
 | |
| 			soundlib/Load_dtm.cpp
 | |
| 			soundlib/MPEGFrame.cpp
 | |
| 			soundlib/XMTools.cpp
 | |
| 			soundlib/SampleFormatMediaFoundation.cpp
 | |
| 			soundlib/InstrumentExtensions.cpp
 | |
| 
 | |
| 			soundlib/MixerInterface.h
 | |
| 			soundlib/SoundFilePlayConfig.h
 | |
| 			soundlib/ModSample.h
 | |
| 			soundlib/MIDIEvents.h
 | |
| 			soundlib/ModSampleCopy.h
 | |
| 			soundlib/patternContainer.h
 | |
| 			soundlib/ChunkReader.h
 | |
| 			soundlib/ITCompression.h
 | |
| 			soundlib/Dither.h
 | |
| 			soundlib/S3MTools.h
 | |
| 			soundlib/MPEGFrame.h
 | |
| 			soundlib/WAVTools.h
 | |
| 			soundlib/mod_specifications.h
 | |
| 			soundlib/ITTools.h
 | |
| 			soundlib/RowVisitor.h
 | |
| 			soundlib/plugins/PluginMixBuffer.h
 | |
| 			soundlib/plugins/PluginStructs.h
 | |
| 			soundlib/plugins/LFOPlugin.h
 | |
| 			soundlib/plugins/PlugInterface.h
 | |
| 			soundlib/plugins/DigiBoosterEcho.h
 | |
| 			soundlib/plugins/OpCodes.h
 | |
| 			soundlib/plugins/dmo/Echo.h
 | |
| 			soundlib/plugins/dmo/I3DL2Reverb.h
 | |
| 			soundlib/plugins/dmo/WavesReverb.h
 | |
| 			soundlib/plugins/dmo/ParamEq.h
 | |
| 			soundlib/plugins/dmo/Gargle.h
 | |
| 			soundlib/plugins/dmo/DMOPlugin.h
 | |
| 			soundlib/plugins/dmo/Chorus.h
 | |
| 			soundlib/plugins/dmo/Compressor.h
 | |
| 			soundlib/plugins/dmo/Distortion.h
 | |
| 			soundlib/plugins/dmo/Flanger.h
 | |
| 			soundlib/plugins/PluginManager.h
 | |
| 			soundlib/SampleIO.h
 | |
| 			soundlib/Container.h
 | |
| 			soundlib/ModSequence.h
 | |
| 			soundlib/UMXTools.h
 | |
| 			soundlib/Message.h
 | |
| 			soundlib/modcommand.h
 | |
| 			soundlib/XMTools.h
 | |
| 			soundlib/Snd_defs.h
 | |
| 			soundlib/MixFuncTable.h
 | |
| 			soundlib/pattern.h
 | |
| 			soundlib/modsmp_ctrl.h
 | |
| 			soundlib/Tagging.h
 | |
| 			soundlib/tuningcollection.h
 | |
| 			soundlib/Mixer.h
 | |
| 			soundlib/FloatMixer.h
 | |
| 			soundlib/AudioCriticalSection.h
 | |
| 			soundlib/Tables.h
 | |
| 			soundlib/tuningbase.h
 | |
| 			soundlib/WindowedFIR.h
 | |
| 			soundlib/Sndfile.h
 | |
| 			soundlib/Paula.h
 | |
| 			soundlib/ModInstrument.h
 | |
| 			soundlib/Dlsbank.h
 | |
| 			soundlib/IntMixer.h
 | |
| 			soundlib/OPL.h
 | |
| 			soundlib/Resampler.h
 | |
| 			soundlib/ModChannel.h
 | |
| 			soundlib/MixerSettings.h
 | |
| 			soundlib/AudioReadTarget.h
 | |
| 			soundlib/MixerLoops.h
 | |
| 			soundlib/tuning.h
 | |
| 			soundlib/MIDIMacros.h
 | |
| 			soundlib/OggStream.h
 | |
| 			soundlib/Loaders.h
 | |
| 			soundlib/BitReader.h
 | |
| 			soundlib/opal.h			
 | |
| 
 | |
| 			sounddsp/AGC.cpp
 | |
| 			sounddsp/EQ.cpp
 | |
| 			sounddsp/DSP.cpp
 | |
| 			sounddsp/Reverb.cpp
 | |
| 			sounddsp/Reverb.h
 | |
| 			sounddsp/EQ.h
 | |
| 			sounddsp/DSP.h
 | |
| 			sounddsp/AGC.h
 | |
| 
 | |
| 			libopenmpt/libopenmpt_c.cpp
 | |
| 			libopenmpt/libopenmpt_cxx.cpp
 | |
| 			libopenmpt/libopenmpt_impl.cpp
 | |
| 			libopenmpt/libopenmpt_ext_impl.cpp
 | |
| 		)
 | |
| 		list(TRANSFORM openmpt_SOURCES PREPEND "${openmpt_SOURCE_DIR}/")
 | |
| 
 | |
| 		# -DLIBOPENMPT_BUILD
 | |
| 		configure_file("openmpt_svn_version.h" "svn_version.h")
 | |
| 		add_library(openmpt "${SRB2_INTERNAL_LIBRARY_TYPE}" ${openmpt_SOURCES} ${CMAKE_CURRENT_BINARY_DIR}/svn_version.h)
 | |
| 		target_compile_features(openmpt PRIVATE cxx_std_11)
 | |
| 		target_compile_definitions(openmpt PRIVATE -DLIBOPENMPT_BUILD)
 | |
| 		
 | |
| 		target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}/common")
 | |
| 		target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}/src")
 | |
| 		target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}/include")
 | |
| 		target_include_directories(openmpt PRIVATE "${openmpt_SOURCE_DIR}")
 | |
| 		target_include_directories(openmpt PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
 | |
| 
 | |
| 		# I wish this wasn't necessary, but it is
 | |
| 		target_include_directories(openmpt PUBLIC "${openmpt_SOURCE_DIR}")
 | |
| 	endif()
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME libgme
 | |
| 		VERSION 0.6.3
 | |
| 		URL "https://bitbucket.org/mpyne/game-music-emu/get/e76bdc0cb916e79aa540290e6edd0c445879d3ba.zip"
 | |
| 		EXCLUDE_FROM_ALL ON
 | |
| 		OPTIONS
 | |
| 			"BUILD_SHARED_LIBS ${SRB2_CONFIG_SHARED_INTERNAL_LIBRARIES}"
 | |
| 			"ENABLE_UBSAN OFF"
 | |
| 	)
 | |
| 	target_compile_features(gme PRIVATE cxx_std_11)
 | |
| 	target_link_libraries(gme PRIVATE ZLIB::ZLIB)
 | |
| endif()
 | |
| 
 | |
| if(NOT "${SRB2_CONFIG_SYSTEM_LIBRARIES}")
 | |
| 	CPMAddPackage(
 | |
| 		NAME DiscordRPC
 | |
| 		VERSION 3.4.0
 | |
| 		URL "https://github.com/discord/discord-rpc/archive/refs/tags/v3.4.0.zip"
 | |
| 		EXCLUDE_FROM_ALL ON
 | |
| 		OPTIONS
 | |
| 			"BUILD_EXAMPLES OFF"
 | |
| 	)
 | |
| 	target_include_directories(discord-rpc INTERFACE "${DiscordRPC_SOURCE_DIR}/include")
 | |
| 	add_library(DiscordRPC::DiscordRPC ALIAS discord-rpc)
 | |
| endif() | 
