[rtmidi] Fix configure CMakeLists.txt (#9221)

* [rtmidi] Fix configure CMakeLists.txt

* [rtmidi] Rtmidi doesn't support "UWP"

* [rtmidi] Disable RTMIDI_API_ALSA on Linux

* [rtmidi] Update ci.baseline.txt

* [rtmidi] Fix ci.baseline.txt conflicts

* [rtmidi] Fix ci.baseline.txt conflicts

* [rtmidi] Fix ci.baseline.txt conflicts

* Update CONTROL

* Update ci.baseline.txt

* [rtmidi] Update ci.baseline.txt

* [rtmidi] Require static library to avoid issues with CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS

* Update portfile.cmake

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
This commit is contained in:
Lily 2020-07-31 13:28:17 +08:00 committed by GitHub
parent 8d09f42a04
commit 8834395605
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 34 deletions

View File

@ -1,27 +0,0 @@
cmake_minimum_required(VERSION 3.8)
project(rtmidi CXX)
add_library(rtmidi RtMidi.cpp rtmidi_c.cpp)
if(BUILD_SHARED_LIBS)
target_compile_definitions(rtmidi PRIVATE -DRTMIDI_EXPORT)
endif()
file(READ "${PROJECT_SOURCE_DIR}/rtmidi_c.h" RTMIDI_EXPORT)
if (BUILD_SHARED_LIBS)
string(REPLACE "if defined(RTMIDI_EXPORT)" "if 1" RTMIDI_EXPORT "${RTMIDI_EXPORT}")
else()
string(REPLACE "if defined(RTMIDI_EXPORT)" "if 0" RTMIDI_EXPORT "${RTMIDI_EXPORT}")
endif()
file(WRITE "${PROJECT_BINARY_DIR}/rtmidi_c.h" "${RTMIDI_EXPORT}")
install(
TARGETS rtmidi
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)
if(NOT DISABLE_INSTALL_HEADERS)
install(FILES "RtMidi.h" DESTINATION include)
install(FILES "${PROJECT_BINARY_DIR}/rtmidi_c.h" DESTINATION include)
endif()

View File

@ -1,4 +1,6 @@
Source: rtmidi
Version: 4.0.0
Port-Version: 2
Homepage: https://github.com/thestk/rtmidi
Description: A set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & JACK), Macintosh OS X (CoreMidi & JACK) and Windows (Multimedia)
Supports: !uwp

View File

@ -1,22 +1,29 @@
include(vcpkg_common_functions)
vcpkg_fail_port_install(ON_TARGET "UWP")
# Upstream uses CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS, which causes issues
# https://github.com/thestk/rtmidi/blob/4.0.0/CMakeLists.txt#L20
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO thestk/rtmidi
REF 4.0.0
SHA512 39383f121320c9471b31f8b9d283167bfadf4c7328b6664d1d54a4c52e3dd9b76362875258d90363c6044e87fcee31ccce80e19435dc620c88e6d60fc82d0f9d
REF dda792c5394375769466ab1c1d7773e741bbd950 # 4.0.0
SHA512 cb1ded29c0b22cf7f38719131a9572a4daba7071fd8cf8b5b8d7306560a218bb0ef42150bf341b76f4ddee0ae087da975116c3b153e7bb908f2a674ecacb9d7a
HEAD_REF master
PATCHES
fix-POSIXname.patch
PATCHES
fix-POSIXname.patch
)
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON
OPTIONS -DRTMIDI_API_ALSA=OFF
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets()
file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/rtmidi RENAME copyright)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL ${SOURCE_PATH}/README.md DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)