mirror of
https://github.com/RPCS3/hidapi.git
synced 2026-07-19 21:43:36 -04:00
handle static lib build exports
This commit is contained in:
@@ -6,10 +6,11 @@ add_library(hidapi_libusb
|
||||
)
|
||||
target_link_libraries(hidapi_libusb PUBLIC hidapi_include)
|
||||
|
||||
include(FindPkgConfig)
|
||||
include(FindThreads)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0>=1.0.9)
|
||||
|
||||
target_link_libraries(hidapi_libusb PRIVATE PkgConfig::libusb Threads::Threads)
|
||||
|
||||
set(HIDAPI_LIBNAME "hidapi")
|
||||
|
||||
@@ -6,10 +6,11 @@ add_library(hidapi_hidraw
|
||||
)
|
||||
target_link_libraries(hidapi_hidraw PUBLIC hidapi_include)
|
||||
|
||||
include(FindPkgConfig)
|
||||
include(FindThreads)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(libudev REQUIRED IMPORTED_TARGET libudev)
|
||||
|
||||
target_link_libraries(hidapi_hidraw PRIVATE PkgConfig::libudev Threads::Threads)
|
||||
|
||||
set_target_properties(hidapi_hidraw
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ add_library(hidapi_darwin
|
||||
hid.c
|
||||
)
|
||||
|
||||
include(FindThreads)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
target_link_libraries(hidapi_darwin
|
||||
PUBLIC hidapi_include
|
||||
|
||||
@@ -66,6 +66,10 @@ endif()
|
||||
set(EXPORT_ALIAS)
|
||||
set(EXPORT_COMPONENTS)
|
||||
|
||||
set(HIDAPI_NEED_EXPORT_THREADS FALSE)
|
||||
set(HIDAPI_NEED_EXPORT_LIBUSB FALSE)
|
||||
set(HIDAPI_NEED_EXPORT_LIBUDEV FALSE)
|
||||
|
||||
if(WIN32)
|
||||
add_subdirectory("${PROJECT_ROOT}/windows" windows)
|
||||
set(EXPORT_ALIAS winapi)
|
||||
@@ -74,6 +78,9 @@ elseif(APPLE)
|
||||
add_subdirectory("${PROJECT_ROOT}/mac" mac)
|
||||
set(EXPORT_ALIAS darwin)
|
||||
list(APPEND EXPORT_COMPONENTS darwin)
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
set(HIDAPI_NEED_EXPORT_THREADS TRUE)
|
||||
endif()
|
||||
else()
|
||||
if(NOT DEFINED HIDAPI_WITH_LIBUSB)
|
||||
set(HIDAPI_WITH_LIBUSB ON)
|
||||
@@ -85,6 +92,10 @@ else()
|
||||
if(NOT HIDAPI_WITH_LIBUSB)
|
||||
set(EXPORT_ALIAS hidraw)
|
||||
endif()
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
set(HIDAPI_NEED_EXPORT_THREADS TRUE)
|
||||
set(HIDAPI_NEED_EXPORT_LIBUDEV TRUE)
|
||||
endif()
|
||||
endif()
|
||||
set(HIDAPI_LIBNAME_VERBOSE ON)
|
||||
else()
|
||||
@@ -95,6 +106,10 @@ else()
|
||||
add_subdirectory("${PROJECT_ROOT}/libusb" libusb)
|
||||
list(APPEND EXPORT_COMPONENTS libusb)
|
||||
set(EXPORT_ALIAS libusb)
|
||||
if(NOT BUILD_SHARED_LIBS)
|
||||
set(HIDAPI_NEED_EXPORT_THREADS TRUE)
|
||||
set(HIDAPI_NEED_EXPORT_LIBUSB TRUE)
|
||||
endif()
|
||||
elseif(NOT TARGET hidapi_hidraw)
|
||||
message(FATAL_ERROR "Select at least one option to build: HIDAPI_WITH_LIBUSB or HIDAPI_WITH_HIDRAW")
|
||||
endif()
|
||||
|
||||
@@ -8,6 +8,30 @@ set(hidapi_VERSION_STR "@hidapi_VERSION@@VERSION_SUFFIX@")
|
||||
|
||||
set(hidapi_FOUND FALSE)
|
||||
|
||||
set(HIDAPI_NEED_EXPORT_THREADS @HIDAPI_NEED_EXPORT_THREADS@)
|
||||
set(HIDAPI_NEED_EXPORT_LIBUSB @HIDAPI_NEED_EXPORT_LIBUSB@)
|
||||
set(HIDAPI_NEED_EXPORT_LIBUDEV @HIDAPI_NEED_EXPORT_LIBUDEV@)
|
||||
|
||||
if(HIDAPI_NEED_EXPORT_THREADS)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.4.3)
|
||||
message(FATAL_ERROR "This file relies on consumers using CMake 3.4.3 or greater.")
|
||||
endif()
|
||||
find_package(Threads REQUIRED)
|
||||
endif()
|
||||
|
||||
if(HIDAPI_NEED_EXPORT_LIBUSB OR HIDAPI_NEED_EXPORT_LIBUDEV)
|
||||
if(CMAKE_VERSION VERSION_LESS 3.6.3)
|
||||
message(FATAL_ERROR "This file relies on consumers using CMake 3.6.3 or greater.")
|
||||
endif()
|
||||
include(FindPkgConfig)
|
||||
if(HIDAPI_NEED_EXPORT_LIBUSB)
|
||||
pkg_check_modules(libusb REQUIRED IMPORTED_TARGET libusb-1.0>=1.0.9)
|
||||
endif()
|
||||
if(HIDAPI_NEED_EXPORT_LIBUDEV)
|
||||
pkg_check_modules(libudev REQUIRED IMPORTED_TARGET libudev)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/hidapi.cmake")
|
||||
|
||||
set(hidapi_FOUND TRUE)
|
||||
|
||||
Reference in New Issue
Block a user