Skip to content

Commit

Permalink
Merge pull request #12292 from fwcd/linux-static-portmidi-alsa
Browse files Browse the repository at this point in the history
FindPortMidi: Link ALSA in static builds on Linux
  • Loading branch information
daschuer committed Nov 12, 2023
2 parents 81ba008 + 2d1be48 commit 8a5855c
Showing 1 changed file with 32 additions and 3 deletions.
35 changes: 32 additions & 3 deletions cmake/modules/FindPortMidi.cmake
Expand Up @@ -37,6 +37,8 @@ The following cache variables may also be set:

#]=======================================================================]

include(IsStaticLibrary)

find_path(PortMidi_INCLUDE_DIR
NAMES portmidi.h
PATH_SUFFIXES portmidi
Expand Down Expand Up @@ -72,12 +74,39 @@ find_package_handle_standard_args(
VERSION_VAR PortMidi_VERSION
)

if(PortMidi_FOUND)
set(PortMidi_LIBRARIES ${PortMidi_LIBRARY})
if(PortMidi_FOUND AND NOT TARGET PortMidi::portmidi)
add_library(PortMidi::portmidi UNKNOWN IMPORTED)
set_target_properties(PortMidi::portmidi
PROPERTIES
IMPORTED_LOCATION "${PortMidi_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_PortMidi_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${PortMidi_INCLUDE_DIR}"
)

set(PortMidi_LIBRARIES PortMidi::portmidi)
# Depending on the library configuration PortTime might be statically
# linked with PortMidi.
if(PortTime_LIBRARY)
list(APPEND PortMidi_LIBRARIES ${PortTime_LIBRARY})
if(NOT TARGET PortTime::porttime)
add_library(PortTime::porttime UNKNOWN IMPORTED)
set_target_properties(PortTime::porttime
PROPERTIES
IMPORTED_LOCATION "${PortTime_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_PortTime_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${PortTime_INCLUDE_DIR}"
)
endif()
list(APPEND PortMidi_LIBRARIES PortTime::porttime)
endif()
set(PortMidi_INCLUDE_DIRS ${PortMidi_INCLUDE_DIR} ${PortTime_INCLUDE_DIR})

is_static_library(PortMidi_IS_STATIC PortMidi::portmidi)
if(PortMidi_IS_STATIC)
find_package(ALSA)
if(ALSA_FOUND)
set_property(TARGET PortMidi::portmidi APPEND PROPERTY INTERFACE_LINK_LIBRARIES
ALSA::ALSA
)
endif()
endif()
endif()

0 comments on commit 8a5855c

Please sign in to comment.