source_set("third_party") {
  sources = [
    "jsoncpp/json.h",
    "jsoncpp/jsoncpp.cc",
    "minimp3/minimp3_ex.h",
    "minimp3/minimp3.h",
    "stb/stb_image.h",
    "stb/stb_truetype.h",
    "texture_compressor/dxt_encoder_implementation_autogen.h",
    "texture_compressor/dxt_encoder_internals.cc",
    "texture_compressor/dxt_encoder_internals.h",
    "texture_compressor/dxt_encoder.cc",
    "texture_compressor/dxt_encoder.h",
    "texture_compressor/texture_compressor_etc1.cc",
    "texture_compressor/texture_compressor_etc1.h",
    "texture_compressor/texture_compressor.cc",
    "texture_compressor/texture_compressor.h",
    "glslang/glslang/CInterface/glslang_c_interface.cpp",
    "glslang/glslang/GenericCodeGen/CodeGen.cpp",
    "glslang/glslang/GenericCodeGen/Link.cpp",
    "glslang/glslang/MachineIndependent/attribute.cpp",
    "glslang/glslang/MachineIndependent/Constant.cpp",
    "glslang/glslang/MachineIndependent/glslang_tab.cpp",
    "glslang/glslang/MachineIndependent/InfoSink.cpp",
    "glslang/glslang/MachineIndependent/Initialize.cpp",
    "glslang/glslang/MachineIndependent/Intermediate.cpp",
    "glslang/glslang/MachineIndependent/intermOut.cpp",
    "glslang/glslang/MachineIndependent/IntermTraverse.cpp",
    "glslang/glslang/MachineIndependent/iomapper.cpp",
    "glslang/glslang/MachineIndependent/limits.cpp",
    "glslang/glslang/MachineIndependent/linkValidate.cpp",
    "glslang/glslang/MachineIndependent/parseConst.cpp",
    "glslang/glslang/MachineIndependent/ParseContextBase.cpp",
    "glslang/glslang/MachineIndependent/ParseHelper.cpp",
    "glslang/glslang/MachineIndependent/PoolAlloc.cpp",
    "glslang/glslang/MachineIndependent/preprocessor/Pp.cpp",
    "glslang/glslang/MachineIndependent/preprocessor/PpAtom.cpp",
    "glslang/glslang/MachineIndependent/preprocessor/PpContext.cpp",
    "glslang/glslang/MachineIndependent/preprocessor/PpScanner.cpp",
    "glslang/glslang/MachineIndependent/preprocessor/PpTokens.cpp",
    "glslang/glslang/MachineIndependent/propagateNoContraction.cpp",
    "glslang/glslang/MachineIndependent/reflection.cpp",
    "glslang/glslang/MachineIndependent/RemoveTree.cpp",
    "glslang/glslang/MachineIndependent/Scan.cpp",
    "glslang/glslang/MachineIndependent/ShaderLang.cpp",
    "glslang/glslang/MachineIndependent/SymbolTable.cpp",
    "glslang/glslang/MachineIndependent/Versions.cpp",
    "glslang/glslang/OSDependent/Unix/ossource.cpp",
    "glslang/OGLCompilersDLL/InitializeDll.cpp",
    "glslang/SPIRV/CInterface/spirv_c_interface.cpp",
    "glslang/SPIRV/disassemble.cpp",
    "glslang/SPIRV/doc.cpp",
    "glslang/SPIRV/GlslangToSpv.cpp",
    "glslang/SPIRV/InReadableOrder.cpp",
    "glslang/SPIRV/Logger.cpp",
    "glslang/SPIRV/SpvBuilder.cpp",
    "glslang/SPIRV/SpvPostProcess.cpp",
    "glslang/SPIRV/SPVRemapper.cpp",
    "glslang/SPIRV/SpvTools.cpp",
    "glslang/StandAlone/ResourceLimits.cpp",
    "spirv-reflect/spirv_reflect.c",
    "vma/vk_mem_alloc.cpp",
  ]

  defines = [
    "VK_USE_PLATFORM_XLIB_KHR",
    "VULKAN_NON_CMAKE_BUILD",
    "SYSCONFDIR=\"/etc\"",
    "FALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\"",
    "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"",
    "HAVE_SECURE_GETENV",
  ]

#  ldflags = []
#  libs = []

  if (target_os == "linux") {
    sources += [
      "glew/glew.c",
      "glew/glew.h",
      "glew/glxew.h",
      "vulkan/loader/cJSON.c",
      "vulkan/loader/debug_utils.c",
      "vulkan/loader/dev_ext_trampoline.c",
      "vulkan/loader/extension_manual.c",
      "vulkan/loader/loader.c",
      "vulkan/loader/murmurhash.c",
      "vulkan/loader/phys_dev_ext.c",
      "vulkan/loader/trampoline.c",
      "vulkan/loader/unknown_ext_chain.c",
      "vulkan/loader/wsi.c",
    ]

#    ldflags += [ "-L/usr/X11R6/lib" ]

    libs = [ "dl" ]
  }

  if (target_os == "android") {
    sources += [
      "android/gl3stub.c",
      "android/gl3stub.h",
      "android/GLContext.cpp",
      "android/GLContext.h",
      "minizip/ioapi.c",
      "minizip/ioapi.h",
      "minizip/unzip.c",
      "minizip/unzip.h",
      "oboe/include/oboe/AudioStream.h",
      "oboe/include/oboe/AudioStreamBase.h",
      "oboe/include/oboe/AudioStreamBuilder.h",
      "oboe/include/oboe/AudioStreamCallback.h",
      "oboe/include/oboe/Definitions.h",
      "oboe/include/oboe/LatencyTuner.h",
      "oboe/include/oboe/Oboe.h",
      "oboe/include/oboe/ResultWithValue.h",
      "oboe/include/oboe/StabilizedCallback.h",
      "oboe/include/oboe/Utilities.h",
      "oboe/include/oboe/Version.h",
      "oboe/src/aaudio/AAudioLoader.cpp",
      "oboe/src/aaudio/AAudioLoader.h",
      "oboe/src/aaudio/AudioStreamAAudio.cpp",
      "oboe/src/aaudio/AudioStreamAAudio.h",
      "oboe/src/common/AudioClock.h",
      "oboe/src/common/AudioSourceCaller.cpp",
      "oboe/src/common/AudioSourceCaller.h",
      "oboe/src/common/AudioStream.cpp",
      "oboe/src/common/AudioStreamBuilder.cpp",
      "oboe/src/common/DataConversionFlowGraph.cpp",
      "oboe/src/common/DataConversionFlowGraph.h",
      "oboe/src/common/FilterAudioStream.cpp",
      "oboe/src/common/FilterAudioStream.h",
      "oboe/src/common/FixedBlockAdapter.cpp",
      "oboe/src/common/FixedBlockAdapter.h",
      "oboe/src/common/FixedBlockReader.cpp",
      "oboe/src/common/FixedBlockReader.h",
      "oboe/src/common/FixedBlockWriter.cpp",
      "oboe/src/common/FixedBlockWriter.h",
      "oboe/src/common/LatencyTuner.cpp",
      "oboe/src/common/MonotonicCounter.h",
      "oboe/src/common/OboeDebug.h",
      "oboe/src/common/QuirksManager.cpp",
      "oboe/src/common/QuirksManager.h",
      "oboe/src/common/SourceFloatCaller.cpp",
      "oboe/src/common/SourceFloatCaller.h",
      "oboe/src/common/SourceI16Caller.cpp",
      "oboe/src/common/SourceI16Caller.h",
      "oboe/src/common/StabilizedCallback.cpp",
      "oboe/src/common/Trace.cpp",
      "oboe/src/common/Trace.h",
      "oboe/src/common/Utilities.cpp",
      "oboe/src/common/Version.cpp",
      "oboe/src/fifo/FifoBuffer.cpp",
      "oboe/src/fifo/FifoBuffer.h",
      "oboe/src/fifo/FifoController.cpp",
      "oboe/src/fifo/FifoController.h",
      "oboe/src/fifo/FifoControllerBase.cpp",
      "oboe/src/fifo/FifoControllerBase.h",
      "oboe/src/fifo/FifoControllerIndirect.cpp",
      "oboe/src/fifo/FifoControllerIndirect.h",
      "oboe/src/flowgraph/ClipToRange.cpp",
      "oboe/src/flowgraph/ClipToRange.h",
      "oboe/src/flowgraph/FlowGraphNode.cpp",
      "oboe/src/flowgraph/FlowGraphNode.h",
      "oboe/src/flowgraph/ManyToMultiConverter.cpp",
      "oboe/src/flowgraph/ManyToMultiConverter.h",
      "oboe/src/flowgraph/MonoToMultiConverter.cpp",
      "oboe/src/flowgraph/MonoToMultiConverter.h",
      "oboe/src/flowgraph/RampLinear.cpp",
      "oboe/src/flowgraph/RampLinear.h",
      "oboe/src/flowgraph/resampler/HyperbolicCosineWindow.h",
      "oboe/src/flowgraph/resampler/IntegerRatio.cpp",
      "oboe/src/flowgraph/resampler/IntegerRatio.h",
      "oboe/src/flowgraph/resampler/KaiserWindow.h",
      "oboe/src/flowgraph/resampler/LinearResampler.cpp",
      "oboe/src/flowgraph/resampler/LinearResampler.h",
      "oboe/src/flowgraph/resampler/MultiChannelResampler.cpp",
      "oboe/src/flowgraph/resampler/MultiChannelResampler.h",
      "oboe/src/flowgraph/resampler/PolyphaseResampler.cpp",
      "oboe/src/flowgraph/resampler/PolyphaseResampler.h",
      "oboe/src/flowgraph/resampler/PolyphaseResamplerMono.cpp",
      "oboe/src/flowgraph/resampler/PolyphaseResamplerMono.h",
      "oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.cpp",
      "oboe/src/flowgraph/resampler/PolyphaseResamplerStereo.h",
      "oboe/src/flowgraph/resampler/SincResampler.cpp",
      "oboe/src/flowgraph/resampler/SincResampler.h",
      "oboe/src/flowgraph/resampler/SincResamplerStereo.cpp",
      "oboe/src/flowgraph/resampler/SincResamplerStereo.h",
      "oboe/src/flowgraph/SampleRateConverter.cpp",
      "oboe/src/flowgraph/SampleRateConverter.h",
      "oboe/src/flowgraph/SinkFloat.cpp",
      "oboe/src/flowgraph/SinkFloat.h",
      "oboe/src/flowgraph/SinkI16.cpp",
      "oboe/src/flowgraph/SinkI16.h",
      "oboe/src/flowgraph/SinkI24.cpp",
      "oboe/src/flowgraph/SinkI24.h",
      "oboe/src/flowgraph/SourceFloat.cpp",
      "oboe/src/flowgraph/SourceFloat.h",
      "oboe/src/flowgraph/SourceI16.cpp",
      "oboe/src/flowgraph/SourceI16.h",
      "oboe/src/flowgraph/SourceI24.cpp",
      "oboe/src/flowgraph/SourceI24.h",
      "oboe/src/opensles/AudioInputStreamOpenSLES.cpp",
      "oboe/src/opensles/AudioInputStreamOpenSLES.h",
      "oboe/src/opensles/AudioOutputStreamOpenSLES.cpp",
      "oboe/src/opensles/AudioOutputStreamOpenSLES.h",
      "oboe/src/opensles/AudioStreamBuffered.cpp",
      "oboe/src/opensles/AudioStreamBuffered.h",
      "oboe/src/opensles/AudioStreamOpenSLES.cpp",
      "oboe/src/opensles/AudioStreamOpenSLES.h",
      "oboe/src/opensles/EngineOpenSLES.cpp",
      "oboe/src/opensles/EngineOpenSLES.h",
      "oboe/src/opensles/OpenSLESUtilities.cpp",
      "oboe/src/opensles/OpenSLESUtilities.h",
      "oboe/src/opensles/OutputMixerOpenSLES.cpp",
      "oboe/src/opensles/OutputMixerOpenSLES.h",
      "texture_compressor/dxt_encoder_neon.cc",
      "texture_compressor/dxt_encoder_neon.h",
      "texture_compressor/texture_compressor_etc1_neon.cc",
      "texture_compressor/texture_compressor_etc1_neon.h",
    ]
  }

  deps = []
}
