aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libopnmidi/cmake-package-export.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libopnmidi/cmake-package-export.patch')
-rw-r--r--vcpkg/ports/libopnmidi/cmake-package-export.patch127
1 files changed, 127 insertions, 0 deletions
diff --git a/vcpkg/ports/libopnmidi/cmake-package-export.patch b/vcpkg/ports/libopnmidi/cmake-package-export.patch
new file mode 100644
index 0000000..3a5eb34
--- /dev/null
+++ b/vcpkg/ports/libopnmidi/cmake-package-export.patch
@@ -0,0 +1,127 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 66d4848..4276e23 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -155,8 +155,6 @@ if(WIN32)
+ option(WITH_WINMMDRV "Build a WinMM MIDI driver" OFF)
+ endif()
+
+-set(libOPNMIDI_INSTALLS)
+-
+ include_directories(${libOPNMIDI_SOURCE_DIR}/include)
+ include_directories(${libOPNMIDI_SOURCE_DIR}/src/)
+ link_directories(${libOPNMIDI_BINARY_DIR}/)
+@@ -317,10 +315,9 @@ if(libOPNMIDI_STATIC OR WITH_VLC_PLUGIN)
+ else()
+ set_target_properties(OPNMIDI_static PROPERTIES OUTPUT_NAME OPNMIDI)
+ endif()
+- target_include_directories(OPNMIDI_static PUBLIC ${libOPNMIDI_SOURCE_DIR}/include)
++ target_include_directories(OPNMIDI_static PUBLIC $<BUILD_INTERFACE:${libOPNMIDI_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ set_legacy_standard(OPNMIDI_static)
+ set_visibility_hidden(OPNMIDI_static)
+- list(APPEND libOPNMIDI_INSTALLS OPNMIDI_static)
+
+ # -fPIC thing
+ if(ENABLE_FPIC)
+@@ -340,10 +337,9 @@ if(libOPNMIDI_SHARED)
+ VERSION ${libOPNMIDI_VERSION}
+ SOVERSION ${libOPNMIDI_VERSION_MAJOR}
+ )
+- target_include_directories(OPNMIDI_shared PUBLIC ${libOPNMIDI_SOURCE_DIR}/include)
++ target_include_directories(OPNMIDI_shared PUBLIC $<BUILD_INTERFACE:${libOPNMIDI_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
+ set_legacy_standard(OPNMIDI_shared)
+ set_visibility_hidden(OPNMIDI_shared)
+- list(APPEND libOPNMIDI_INSTALLS OPNMIDI_shared)
+
+ if(WIN32)
+ target_compile_definitions(OPNMIDI_shared PRIVATE "-DOPNMIDI_BUILD_DLL")
+@@ -416,17 +412,45 @@ if(WITH_HQ_RESAMPLER)
+ endif()
+ endif()
+
+-install(TARGETS ${libOPNMIDI_INSTALLS}
+- RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+- LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+- INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
++if(libOPNMIDI_STATIC)
++ install(TARGETS OPNMIDI_static
++ EXPORT libOPNMIDIStaticTargets
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++
++ install(EXPORT libOPNMIDIStaticTargets
++ FILE libOPNMIDI-static-targets.cmake
++ NAMESPACE libOPNMIDI::
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI")
++endif()
++
++if(libOPNMIDI_SHARED)
++ install(TARGETS OPNMIDI_shared
++ EXPORT libOPNMIDISharedTargets
++ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
++ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
++ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++
++ install(EXPORT libOPNMIDISharedTargets
++ FILE libOPNMIDI-shared-targets.cmake
++ NAMESPACE libOPNMIDI::
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI")
++endif()
+
+ install(FILES
+ include/opnmidi.h
+ #include/opnmidi.hpp # WIP
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+
++include(CMakePackageConfigHelpers)
++configure_package_config_file(libOPNMIDIConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/libOPNMIDIConfig.cmake"
++ PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_FULL_BINDIR CMAKE_INSTALL_FULL_INCLUDEDIR CMAKE_INSTALL_FULL_LIBDIR
++ INSTALL_DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI"
++)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libOPNMIDIConfig.cmake
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/libOPNMIDI")
++
+ if(WITH_EXTRA_BANKS AND NOT APPLE)
+ file(GLOB WOPN_FILES ${libOPNMIDI_SOURCE_DIR}/fm_banks/*.wopn)
+ install(FILES ${WOPN_FILES}
+diff --git a/libOPNMIDIConfig.cmake.in b/libOPNMIDIConfig.cmake.in
+new file mode 100644
+index 0000000..f292e48
+--- /dev/null
++++ b/libOPNMIDIConfig.cmake.in
+@@ -0,0 +1,33 @@
++include(FeatureSummary)
++set_package_properties(libOPNMIDI PROPERTIES
++ URL "https://github.com/Wohlstand/libOPNMIDI"
++ DESCRIPTION "libOPNMIDI is a free Software MIDI synthesizer library with OPN2 (YM2612) and OPNA (YM2608) emulation"
++)
++
++@PACKAGE_INIT@
++
++if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-shared-targets.cmake")
++ include("${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-shared-targets.cmake")
++endif()
++if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-static-targets.cmake")
++ include("${CMAKE_CURRENT_LIST_DIR}/libOPNMIDI-static-targets.cmake")
++endif()
++
++if(TARGET libOPNMIDI::OPNMIDI_shared)
++ if(CMAKE_VERSION VERSION_LESS "3.18")
++ add_library(libOPNMIDI::OPNMIDI_IF INTERFACE IMPORTED)
++ set_target_properties(libOPNMIDI::OPNMIDI_IF PROPERTIES INTERFACE_LINK_LIBRARIES "libOPNMIDI::OPNMIDI_shared")
++ else()
++ add_library(libOPNMIDI::OPNMIDI_IF ALIAS libOPNMIDI::OPNMIDI_shared)
++ endif()
++else()
++ if(CMAKE_VERSION VERSION_LESS "3.18")
++ add_library(libOPNMIDI::OPNMIDI_IF INTERFACE IMPORTED)
++ set_target_properties(libOPNMIDI::OPNMIDI_IF PROPERTIES INTERFACE_LINK_LIBRARIES "libOPNMIDI::OPNMIDI_static")
++ add_library(libOPNMIDI::OPNMIDI_IF_STATIC INTERFACE IMPORTED)
++ set_target_properties(libOPNMIDI::OPNMIDI_IF_STATIC PROPERTIES INTERFACE_LINK_LIBRARIES "libOPNMIDI::OPNMIDI_static")
++ else()
++ add_library(libOPNMIDI::OPNMIDI_IF ALIAS libOPNMIDI::OPNMIDI_static)
++ add_library(libOPNMIDI::OPNMIDI_IF_STATIC ALIAS libOPNMIDI::OPNMIDI_static)
++ endif()
++endif()