blob: a1b18fa28d8d5f9be18aa40595312a8fd61bbc02 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
add_subdirectory(os)
include(config.cmake)
include(FindThreads)
set (LIBUSB_COMMON
core.c
descriptor.c
io.c
sync.c
libusb-1.0.rc
libusb-1.0.def
)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/os)
if (CMAKE_THREAD_LIBS_INIT)
list(APPEND LIBUSB_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
endif()
# The CLEAN_DIRECT_OUTPUT property setting can be removed once CMake >= 2.8.4
if (WITH_SHARED)
add_library(usb-1.0
SHARED
${LIBUSB_COMMON}
${LIBUSB_PLATFORM}
)
if (MSVC)
set_target_properties(usb-1.0 PROPERTIES PREFIX "lib")
set_target_properties(usb-1.0 PROPERTIES IMPORT_PREFIX "lib")
set_target_properties(usb-1.0 PROPERTIES IMPORT_SUFFIX ".dll.lib")
endif()
set_target_properties(usb-1.0 PROPERTIES
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)
message("Linking shared library against ${LIBUSB_LIBRARIES}")
target_link_libraries(usb-1.0
${LIBUSB_LIBRARIES}
)
endif()
list(APPEND LIBUSB_LIBTARGETS usb-1.0)
endif()
if (WITH_STATIC)
add_library(usb-1.0-static
STATIC
${LIBUSB_COMMON}
${LIBUSB_PLATFORM}
)
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)
endif()
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)
|