mirror of
https://github.com/ZDoom/ZMusic.git
synced 2024-11-23 12:22:30 +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.
38 lines
1.1 KiB
CMake
38 lines
1.1 KiB
CMake
# - Find fluidsynth
|
|
# Find the native fluidsynth includes and library
|
|
#
|
|
# FLUIDSYNTH_INCLUDE_DIR - where to find fluidsynth.h
|
|
# FLUIDSYNTH_LIBRARY - Path to fluidsynth library.
|
|
# FLUIDSYNTH_FOUND - True if fluidsynth found.
|
|
|
|
|
|
if(FLUIDSYNTH_INCLUDE_DIR AND FLUIDSYNTH_LIBRARY)
|
|
# Already in cache, be silent
|
|
set(FluidSynth_FIND_QUIETLY TRUE)
|
|
endif()
|
|
|
|
if(NOT FLUIDSYNTH_INCLUDE_DIR)
|
|
find_path(FLUIDSYNTH_INCLUDE_DIR fluidsynth.h)
|
|
endif()
|
|
|
|
if(NOT FLUIDSYNTH_LIBRARY)
|
|
find_library(FLUIDSYNTH_LIBRARY NAMES fluidsynth)
|
|
endif()
|
|
|
|
# handle the QUIETLY and REQUIRED arguments and set FLUIDSYNTH_FOUND to TRUE if
|
|
# all listed variables are TRUE
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(FluidSynth DEFAULT_MSG FLUIDSYNTH_LIBRARY FLUIDSYNTH_INCLUDE_DIR)
|
|
|
|
if(FLUIDSYNTH_FOUND)
|
|
add_library(libfluidsynth UNKNOWN IMPORTED)
|
|
set_target_properties(libfluidsynth
|
|
PROPERTIES
|
|
IMPORTED_LOCATION "${FLUIDSYNTH_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${FLUIDSYNTH_INCLUDE_DIR}"
|
|
)
|
|
|
|
# Legacy variables
|
|
set(FLUIDSYNTH_INCLUDE_DIRS ${FLUIDSYNTH_INCLUDE_DIR})
|
|
set(FLUIDSYNTH_LIBRARIES ${FLUIDSYNTH_LIBRARY})
|
|
endif()
|