56 lines
2.1 KiB
CMake
56 lines
2.1 KiB
CMake
include(FindPackageHandleStandardArgs)
|
|
|
|
find_package(PkgConfig QUIET)
|
|
pkg_check_modules(PC_FLUIDSYNTH QUIET fluidsynth)
|
|
|
|
find_library(FluidSynth_LIBRARY
|
|
NAMES fluidsynth fluidsynth-3 libfluidsynth
|
|
HINTS ${PC_FLUIDSYNTH_LIBDIR}
|
|
)
|
|
|
|
find_path(FluidSynth_INCLUDE_PATH
|
|
NAMES fluidsynth.h
|
|
HINTS ${PC_FLUIDSYNTH_INCLUDEDIR}
|
|
)
|
|
|
|
if(PC_FLUIDSYNTH_FOUND)
|
|
get_flags_from_pkg_config("${FluidSynth_LIBRARY}" "PC_FLUIDSYNTH" "_fluidsynth")
|
|
endif()
|
|
|
|
set(FluidSynth_COMPILE_OPTIONS "${_fluidsynth_compile_options}" CACHE STRING "Extra compile options of FluidSynth")
|
|
|
|
set(FluidSynth_LINK_LIBRARIES "${_fluidsynth_link_libraries}" CACHE STRING "Extra link libraries of FluidSynth")
|
|
|
|
set(FluidSynth_LINK_OPTIONS "${_fluidsynth_link_options}" CACHE STRING "Extra link flags of FluidSynth")
|
|
|
|
set(FluidSynth_LINK_DIRECTORIES "${_fluidsynth_link_directories}" CACHE PATH "Extra link directories of FluidSynth")
|
|
|
|
set(FLUIDSYNTH_VERSION "FLUIDSYNTH_VERSION-NOTFOUND")
|
|
if(EXISTS "${FluidSynth_INCLUDE_PATH}/fluidsynth/version.h")
|
|
file(READ "${FluidSynth_INCLUDE_PATH}/fluidsynth/version.h" _fluidsynth_version_h)
|
|
set(_fluidsynth_version_regex "#define[ \t]+FLUIDSYNTH_VERSION[ \t]+\"([1-9]+\\.[0-9]+\\.[0-9]+)\"")
|
|
string(REGEX MATCH "${_fluidsynth_version_regex}" _re_fluidsynth_version "${_fluidsynth_version_h}")
|
|
if(_re_fluidsynth_version)
|
|
set(FLUIDSYNTH_VERSION "${CMAKE_MATCH_1}")
|
|
endif()
|
|
endif()
|
|
|
|
find_package_handle_standard_args(FluidSynth
|
|
REQUIRED_VARS FluidSynth_LIBRARY FluidSynth_INCLUDE_PATH
|
|
VERSION_VAR FLUIDSYNTH_VERSION
|
|
)
|
|
|
|
if(FluidSynth_FOUND)
|
|
if(NOT TARGET FluidSynth::libfluidsynth)
|
|
add_library(FluidSynth::libfluidsynth UNKNOWN IMPORTED)
|
|
set_target_properties(FluidSynth::libfluidsynth PROPERTIES
|
|
IMPORTED_LOCATION "${FluidSynth_LIBRARY}"
|
|
INTERFACE_INCLUDE_DIRECTORIES "${FluidSynth_INCLUDE_PATH}"
|
|
INTERFACE_COMPILE_OPTIONS "${FluidSynth_COMPILE_OPTIONS}"
|
|
INTERFACE_LINK_LIBRARIES "${FluidSynth_LINK_LIBRARIES}"
|
|
INTERFACE_LINK_OPTIONS "${FluidSynth_LINK_OPTIONS}"
|
|
INTERFACE_LINK_DIRECTORIES "${FluidSynth_LINK_DIRECTORIES}"
|
|
)
|
|
endif()
|
|
endif()
|