mirror of
https://github.com/ZDoom/ZMusic.git
synced 2025-02-11 22:48:22 +00:00
b3c4b55dab
- Prefer target properties instead of setting variables whenever possible. A zmusic-obj target now exists to represent the commonality between zmusic and zmusiclite. - Factored out as much as possible from global settings to per target settings which will make it easier to support using ZMusic as a submodule. Moved helper functions into a ZUtility.cmake module. - We now generate and install ZMusicConfig.cmake so find_package(ZMusic) will work either automatically or given ZMusic_DIR is set. - CPack is enabled although some refinement is still needed. - Requires CMake >= 3.13 which is newer than I would normally like, but given how no one like to refactor these things it may be better to deal with the short term pain of going a little aggressive on the requirement in order to avoid having to make things ugly. Especially given that these scripts have a tendency to be copy/pasted into sister projects. CMake itself has very few dependencies so users of old Linux distros should be able to easily compile a supported version of CMake. - On Windows CMake >= 3.15 is required for redistributable results. - Cleaned out bits that were copied from GZDoom but not relevant to ZMusic.
36 lines
612 B
CMake
36 lines
612 B
CMake
add_library(timidityplus OBJECT
|
|
fft4g.cpp
|
|
reverb.cpp
|
|
common.cpp
|
|
configfile.cpp
|
|
effect.cpp
|
|
filter.cpp
|
|
freq.cpp
|
|
instrum.cpp
|
|
mblock.cpp
|
|
mix.cpp
|
|
playmidi.cpp
|
|
quantity.cpp
|
|
readmidic.cpp
|
|
recache.cpp
|
|
resample.cpp
|
|
sbkconv.cpp
|
|
sffile.cpp
|
|
sfitem.cpp
|
|
smplfile.cpp
|
|
sndfont.cpp
|
|
tables.cpp
|
|
)
|
|
|
|
target_include_directories(timidityplus INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} PRIVATE timiditypp)
|
|
|
|
set_target_properties(timidityplus
|
|
PROPERTIES
|
|
CXX_STANDARD 11
|
|
CXX_STANDARD_REQUIRED ON
|
|
)
|
|
|
|
file(GLOB HEADER_FILES timiditypp/*.h)
|
|
target_sources(timidityplus PRIVATE ${HEADER_FILES})
|
|
|
|
use_fast_math(timidityplus)
|