]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/sdl2-mixer/CMakeLists.txt
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / sdl2-mixer / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.1)
2 project(SDL2_MIXER C)
3
4 find_path(SDL_INCLUDE_DIR SDL.h PATH_SUFFIXES SDL2)
5 find_package(SDL2 CONFIG REQUIRED)
6 set(SDL_MIXER_INCLUDES ${SDL_INCLUDE_DIR})
7
8 set(SDL_MIXER_LIBRARIES SDL2::SDL2)
9
10 # builtin formats
11 set(SDL_MIXER_DEFINES MUSIC_WAV)
12
13 # MP3 support
14 if(SDL_MIXER_ENABLE_MP3)
15 find_path(MPG123_INCLUDE_DIR mpg123.h)
16 find_library(MPG123_LIBRARY NAMES libmpg123 mpg123)
17 list(APPEND SDL_MIXER_INCLUDES ${MPG123_INCLUDE_DIR})
18 list(APPEND SDL_MIXER_DEFINES MUSIC_MP3_MPG123)
19 list(APPEND SDL_MIXER_LIBRARIES ${MPG123_LIBRARY})
20 if (SDL_DYNAMIC_LOAD)
21 get_filename_component(MPG123_LIBRARY_NAME "${MPG123_LIBRARY}" NAME_WE)
22 list(APPEND SDL_MIXER_LOAD_DEFINES -DMPG123_DYNAMIC="${MPG123_LIBRARY_NAME}${LIBRARY_SUFFIX}")
23 endif()
24 endif()
25
26 # FLAC support
27 if(SDL_MIXER_ENABLE_FLAC)
28 find_path(FLAC_INCLUDE_DIR FLAC/all.h)
29 find_library(FLAC_LIBRARY FLAC)
30 list(APPEND SDL_MIXER_INCLUDES ${FLAC_INCLUDE_DIR})
31 list(APPEND SDL_MIXER_DEFINES MUSIC_FLAC)
32 list(APPEND SDL_MIXER_LIBRARIES ${FLAC_LIBRARY})
33 if (SDL_DYNAMIC_LOAD)
34 get_filename_component(FLAC_LIBRARY_NAME "${FLAC_LIBRARY}" NAME_WE)
35 list(APPEND SDL_MIXER_LOAD_DEFINES -DFLAC_DYNAMIC="${FLAC_LIBRARY_NAME}${LIBRARY_SUFFIX}")
36 endif()
37 endif()
38
39 # MOD support
40 if(SDL_MIXER_ENABLE_MOD)
41 find_path(MODPLUG_INCLUDE_DIR libmodplug/modplug.h)
42 find_library(MODPLUG_LIBRARY modplug)
43 list(APPEND SDL_MIXER_INCLUDES ${MODPLUG_INCLUDE_DIR})
44 list(APPEND SDL_MIXER_DEFINES MUSIC_MOD_MODPLUG)
45 list(APPEND SDL_MIXER_LIBRARIES ${MODPLUG_LIBRARY})
46 if (SDL_DYNAMIC_LOAD)
47 get_filename_component(MODPLUG_LIBRARY_NAME "${MODPLUG_LIBRARY}" NAME_WE)
48 list(APPEND SDL_MIXER_LOAD_DEFINES -DMODPLUG_DYNAMIC="${MODPLUG_LIBRARY_NAME}${LIBRARY_SUFFIX}")
49 endif()
50 endif()
51
52 # Ogg-Vorbis support
53 if(SDL_MIXER_ENABLE_OGGVORBIS)
54 find_path(VORBIS_INCLUDE_DIR vorbis/codec.h)
55 find_library(VORBISFILE_LIBRARY vorbisfile)
56 list(APPEND SDL_MIXER_INCLUDES ${VORBIS_INCLUDE_DIR})
57 list(APPEND SDL_MIXER_DEFINES MUSIC_OGG)
58 if (SDL_DYNAMIC_LOAD)
59 get_filename_component(VORBISFILE_LIBRARY_NAME "${VORBISFILE_LIBRARY}" NAME_WE)
60 list(APPEND SDL_MIXER_LOAD_DEFINES -DOGG_DYNAMIC="${VORBISFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}")
61 endif()
62 endif()
63
64 # Opus support
65 if(SDL_MIXER_ENABLE_OPUS)
66 find_path(OPUS_INCLUDE_DIR opus/opusfile.h)
67 find_library(OPUSFILE_LIBRARY opusfile)
68 list(APPEND SDL_MIXER_INCLUDES ${OPUS_INCLUDE_DIR})
69 list(APPEND SDL_MIXER_DEFINES MUSIC_OPUS)
70 list(APPEND SDL_MIXER_LIBRARIES ${OPUSFILE_LIBRARY})
71 if (SDL_DYNAMIC_LOAD)
72 get_filename_component(OPUSFILE_LIBRARY_NAME "${OPUSFILE_LIBRARY}" NAME_WE)
73 list(APPEND SDL_MIXER_LOAD_DEFINES -DOPUS_DYNAMIC="${OPUSFILE_LIBRARY_NAME}${LIBRARY_SUFFIX}")
74 endif()
75 endif()
76
77 add_library(SDL2_mixer
78 effect_position.c
79 effect_stereoreverse.c
80 effects_internal.c
81 load_aiff.c
82 load_voc.c
83 mixer.c
84 music.c
85 music_cmd.c
86 music_flac.c
87 music_fluidsynth.c
88 music_mad.c
89 music_mikmod.c
90 music_modplug.c
91 music_mpg123.c
92 music_ogg.c
93 music_opus.c
94 music_timidity.c
95 music_wav.c
96 version.rc)
97
98 if((WIN32 OR APPLE) AND SDL_MIXER_ENABLE_NATIVEMIDI)
99 list(APPEND SDL_MIXER_DEFINES MUSIC_MID_NATIVE)
100 target_sources(SDL2_mixer PRIVATE music_nativemidi.c native_midi/native_midi_common.c)
101 target_link_libraries(SDL2_mixer ${SDL_MIXER_LIBRARIES})
102 if(WIN32)
103 target_sources(SDL2_mixer PRIVATE native_midi/native_midi_win32.c)
104 target_link_libraries(SDL2_mixer Winmm)
105 elseif(APPLE)
106 target_sources(SDL2_mixer PRIVATE native_midi/native_midi_macosx.c)
107 endif()
108 endif()
109
110 set_target_properties(SDL2_mixer PROPERTIES DEFINE_SYMBOL DLL_EXPORT)
111 target_compile_definitions(SDL2_mixer PRIVATE ${SDL_MIXER_DEFINES} ${SDL_MIXER_LOAD_DEFINES})
112 target_include_directories(SDL2_mixer PRIVATE ${SDL_MIXER_INCLUDES} ./native_midi)
113
114 install(TARGETS SDL2_mixer
115 EXPORT SDL2_mixer
116 RUNTIME DESTINATION bin
117 ARCHIVE DESTINATION lib
118 LIBRARY DESTINATION lib)
119
120 install(EXPORT SDL2_mixer
121 DESTINATION share/sdl2-mixer/
122 FILE sdl2-mixer-config.cmake
123 NAMESPACE SDL2::
124 )
125
126 if(NOT SDL_MIXER_SKIP_HEADERS)
127 install(FILES SDL_mixer.h DESTINATION include/SDL2)
128 endif()
129
130 message(STATUS "Link-time dependencies:")
131 foreach(LIBRARY ${SDL_MIXER_LIBRARIES})
132 message(STATUS " " ${LIBRARY})
133 endforeach()