mirror of
https://github.com/cemu-project/Cemu.git
synced 2024-11-22 00:59:18 +01:00
Fix macos missing dylib file
This commit is contained in:
parent
f58b260cbd
commit
7e778042ee
@ -19,6 +19,8 @@ endif()
|
|||||||
if (ENABLE_VCPKG)
|
if (ENABLE_VCPKG)
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_linux")
|
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_linux")
|
||||||
|
elseif(APPLE)
|
||||||
|
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports_mac")
|
||||||
else()
|
else()
|
||||||
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports")
|
set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/dependencies/vcpkg_overlay_ports")
|
||||||
endif()
|
endif()
|
||||||
|
0
dependencies/vcpkg_overlay_ports_mac/.gitkeep
vendored
Normal file
0
dependencies/vcpkg_overlay_ports_mac/.gitkeep
vendored
Normal file
71
dependencies/vcpkg_overlay_ports_mac/libusb/portfile.cmake
vendored
Normal file
71
dependencies/vcpkg_overlay_ports_mac/libusb/portfile.cmake
vendored
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||||
|
|
||||||
|
if(VCPKG_TARGET_IS_LINUX)
|
||||||
|
message("${PORT} currently requires the following tools and libraries from the system package manager:\n autoreconf\n libudev\n\nThese can be installed on Ubuntu systems via apt-get install autoconf libudev-dev")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(VERSION 1.0.26)
|
||||||
|
vcpkg_from_github(
|
||||||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
|
REPO libusb/libusb
|
||||||
|
REF fcf0c710ef5911ae37fbbf1b39d48a89f6f14e8a # v1.0.26.11791 2023-03-12
|
||||||
|
SHA512 0aa6439f7988487adf2a3bff473fec80b5c722a47f117a60696d2aa25c87cc3f20fb6aaca7c66e49be25db6a35eb0bb5f71ed7b211d1b8ee064c5d7f1b985c73
|
||||||
|
HEAD_REF master
|
||||||
|
)
|
||||||
|
|
||||||
|
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||||
|
|
||||||
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
|
||||||
|
set(LIBUSB_PROJECT_TYPE dll)
|
||||||
|
else()
|
||||||
|
set(LIBUSB_PROJECT_TYPE static)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# The README.md file in the archive is a symlink to README
|
||||||
|
# which causes issues with the windows MSBUILD process
|
||||||
|
file(REMOVE "${SOURCE_PATH}/README.md")
|
||||||
|
|
||||||
|
vcpkg_msbuild_install(
|
||||||
|
SOURCE_PATH "${SOURCE_PATH}"
|
||||||
|
PROJECT_SUBPATH msvc/libusb_${LIBUSB_PROJECT_TYPE}.vcxproj
|
||||||
|
)
|
||||||
|
|
||||||
|
file(INSTALL "${SOURCE_PATH}/libusb/libusb.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/libusb-1.0")
|
||||||
|
set(prefix "")
|
||||||
|
set(exec_prefix [[${prefix}]])
|
||||||
|
set(libdir [[${prefix}/lib]])
|
||||||
|
set(includedir [[${prefix}/include]])
|
||||||
|
configure_file("${SOURCE_PATH}/libusb-1.0.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libusb-1.0.pc" @ONLY)
|
||||||
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/lib/pkgconfig/libusb-1.0.pc" " -lusb-1.0" " -llibusb-1.0")
|
||||||
|
if(NOT VCPKG_BUILD_TYPE)
|
||||||
|
set(includedir [[${prefix}/../include]])
|
||||||
|
configure_file("${SOURCE_PATH}/libusb-1.0.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libusb-1.0.pc" @ONLY)
|
||||||
|
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libusb-1.0.pc" " -lusb-1.0" " -llibusb-1.0")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
vcpkg_list(SET MAKE_OPTIONS)
|
||||||
|
vcpkg_list(SET LIBUSB_LINK_LIBRARIES)
|
||||||
|
if(VCPKG_TARGET_IS_EMSCRIPTEN)
|
||||||
|
vcpkg_list(APPEND MAKE_OPTIONS BUILD_TRIPLET --host=wasm32)
|
||||||
|
endif()
|
||||||
|
if("udev" IN_LIST FEATURES)
|
||||||
|
vcpkg_list(APPEND MAKE_OPTIONS "--enable-udev")
|
||||||
|
vcpkg_list(APPEND LIBUSB_LINK_LIBRARIES udev)
|
||||||
|
else()
|
||||||
|
vcpkg_list(APPEND MAKE_OPTIONS "--disable-udev")
|
||||||
|
endif()
|
||||||
|
vcpkg_configure_make(
|
||||||
|
SOURCE_PATH "${SOURCE_PATH}"
|
||||||
|
AUTOCONFIG
|
||||||
|
OPTIONS
|
||||||
|
${MAKE_OPTIONS}
|
||||||
|
"--enable-examples-build=no"
|
||||||
|
"--enable-tests-build=no"
|
||||||
|
)
|
||||||
|
vcpkg_install_make()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
vcpkg_fixup_pkgconfig()
|
||||||
|
|
||||||
|
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
|
||||||
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
|
5
dependencies/vcpkg_overlay_ports_mac/libusb/usage
vendored
Normal file
5
dependencies/vcpkg_overlay_ports_mac/libusb/usage
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
libusb can be imported via CMake FindPkgConfig module:
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0)
|
||||||
|
|
||||||
|
target_link_libraries(main PRIVATE PkgConfig::libusb)
|
8
dependencies/vcpkg_overlay_ports_mac/libusb/vcpkg.json
vendored
Normal file
8
dependencies/vcpkg_overlay_ports_mac/libusb/vcpkg.json
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "libusb",
|
||||||
|
"version": "1.0.26.11791",
|
||||||
|
"port-version": 7,
|
||||||
|
"description": "a cross-platform library to access USB devices",
|
||||||
|
"homepage": "https://github.com/libusb/libusb",
|
||||||
|
"license": "LGPL-2.1-or-later"
|
||||||
|
}
|
@ -96,13 +96,10 @@ if (MACOS_BUNDLE)
|
|||||||
endforeach(folder)
|
endforeach(folder)
|
||||||
|
|
||||||
add_custom_command (TARGET CemuBin POST_BUILD
|
add_custom_command (TARGET CemuBin POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} ARGS -E copy "/usr/local/lib/libMoltenVK.dylib" "${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/Frameworks/libMoltenVK.dylib")
|
COMMAND ${CMAKE_COMMAND} ARGS -E copy "/usr/local/lib/libMoltenVK.dylib" "${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/Frameworks/libMoltenVK.dylib"
|
||||||
|
COMMAND ${CMAKE_COMMAND} ARGS -E copy "${CMAKE_BINARY_DIR}/vcpkg_installed/x64-osx/lib/libusb-1.0.0.dylib" "${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/Frameworks/libusb-1.0.0.dylib"
|
||||||
add_custom_command (TARGET CemuBin POST_BUILD
|
COMMAND bash -c "install_name_tool -add_rpath @executable_path/../Frameworks ${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/MacOS/${OUTPUT_NAME}"
|
||||||
COMMAND bash -c "install_name_tool -add_rpath @executable_path/../Frameworks ${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/MacOS/${OUTPUT_NAME}")
|
COMMAND bash -c "install_name_tool -change /usr/local/opt/libusb/lib/libusb-1.0.0.dylib @executable_path/../Frameworks/libusb-1.0.0.dylib ${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/MacOS/${OUTPUT_NAME}")
|
||||||
|
|
||||||
add_custom_command (TARGET CemuBin POST_BUILD
|
|
||||||
COMMAND bash -c "install_name_tool -change /usr/local/opt/libusb/lib/libusb-1.0.0.dylib @executable_path/../Frameworks/libusb-1.0.0.dylib ${CMAKE_SOURCE_DIR}/bin/${OUTPUT_NAME}.app/Contents/MacOS/${OUTPUT_NAME}")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set_target_properties(CemuBin PROPERTIES
|
set_target_properties(CemuBin PROPERTIES
|
||||||
|
Loading…
Reference in New Issue
Block a user