mirror of
https://github.com/RPCS3/rpcs3.git
synced 2024-11-18 02:11:28 +00:00
77 lines
1.9 KiB
CMake
77 lines
1.9 KiB
CMake
|
include(os.cmake)
|
||
|
|
||
|
include(config.cmake)
|
||
|
include(FindThreads)
|
||
|
|
||
|
set (LIBUSB_COMMON
|
||
|
core.c
|
||
|
descriptor.c
|
||
|
io.c
|
||
|
sync.c
|
||
|
hotplug.c
|
||
|
strerror.c
|
||
|
libusb-1.0.rc
|
||
|
libusb-1.0.def
|
||
|
)
|
||
|
|
||
|
foreach(SRC IN LISTS LIBUSB_COMMON)
|
||
|
list(APPEND LIBUSB_COMMON_FINAL ${LIBUSB_SOURCE_DIR}/libusb/${SRC})
|
||
|
endforeach()
|
||
|
|
||
|
|
||
|
include_directories(${LIBUSB_SOURCE_DIR}/libusb)
|
||
|
include_directories(${LIBUSB_SOURCE_DIR}/libusb/os)
|
||
|
|
||
|
if (CMAKE_THREAD_LIBS_INIT)
|
||
|
list(APPEND LIBUSB_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
|
||
|
endif()
|
||
|
|
||
|
add_library(usb-1.0-static
|
||
|
STATIC
|
||
|
${LIBUSB_COMMON_FINAL}
|
||
|
${LIBUSB_PLATFORM}
|
||
|
)
|
||
|
|
||
|
target_include_directories(usb-1.0-static PUBLIC $<BUILD_INTERFACE:${LIBUSB_SOURCE_DIR}/libusb>)
|
||
|
|
||
|
set_target_properties(usb-1.0-static PROPERTIES
|
||
|
PREFIX "lib"
|
||
|
OUTPUT_NAME "usb-1.0"
|
||
|
CLEAN_DIRECT_OUTPUT 1
|
||
|
PUBLIC_HEADER libusb.h
|
||
|
VERSION "${LIBUSB_MAJOR}.${LIBUSB_MINOR}.${LIBUSB_MICRO}"
|
||
|
SOVERSION "${LIBUSB_MAJOR}.${LIBUSB_MINOR}.${LIBUSB_MICRO}"
|
||
|
)
|
||
|
|
||
|
if (DEFINED LIBUSB_LIBRARIES)
|
||
|
target_link_libraries(usb-1.0-static
|
||
|
${LIBUSB_LIBRARIES}
|
||
|
)
|
||
|
endif()
|
||
|
|
||
|
list(APPEND LIBUSB_LIBTARGETS usb-1.0-static)
|
||
|
|
||
|
install(TARGETS ${LIBUSB_LIBTARGETS} EXPORT libusb-1
|
||
|
PUBLIC_HEADER DESTINATION include/libusb-1.0
|
||
|
ARCHIVE DESTINATION lib
|
||
|
LIBRARY DESTINATION lib
|
||
|
RUNTIME DESTINATION lib
|
||
|
)
|
||
|
install(EXPORT libusb-1 DESTINATION lib/libusb)
|
||
|
|
||
|
foreach(LIB IN LISTS LIBUSB_LIBRARIES)
|
||
|
if (LIB MATCHES .framework$)
|
||
|
get_filename_component(LIB "${LIB}" NAME)
|
||
|
set(LIB "-Wl,-framework,${LIB}")
|
||
|
elseif (LIB MATCHES .dylib$)
|
||
|
get_filename_component(LIBDIR "${LIB}" PATH)
|
||
|
get_filename_component(LIB "${LIB}" NAME)
|
||
|
string(REGEX REPLACE "lib(.*).dylib$" "\\1" LIB "${LIB}")
|
||
|
set(LIB "-L${LIBDIR} -l${LIB}")
|
||
|
endif()
|
||
|
set(LIBUSB_LIB_DEPENDS "${LIBUSB_LIB_DEPENDS} ${LIB}")
|
||
|
endforeach()
|
||
|
|
||
|
configure_file(libusb-1.0.pc.cmake "${CMAKE_CURRENT_BINARY_DIR}/libusb-1.0.pc" @ONLY)
|
||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libusb-1.0.pc" DESTINATION lib/pkgconfig)
|