64 lines
1.6 KiB
CMake
64 lines
1.6 KiB
CMake
list(APPEND HIDAPI_PUBLIC_HEADERS "hidapi_winapi.h")
|
|
|
|
set(SOURCES
|
|
hid.c
|
|
hidapi_cfgmgr32.h
|
|
hidapi_descriptor_reconstruct.c
|
|
hidapi_descriptor_reconstruct.h
|
|
hidapi_hidclass.h
|
|
hidapi_hidpi.h
|
|
hidapi_hidsdi.h
|
|
)
|
|
|
|
if(BUILD_SHARED_LIBS)
|
|
list(APPEND SOURCES hidapi.rc)
|
|
endif()
|
|
|
|
add_library(hidapi_winapi
|
|
${HIDAPI_PUBLIC_HEADERS}
|
|
${SOURCES}
|
|
)
|
|
target_link_libraries(hidapi_winapi
|
|
PUBLIC hidapi_include
|
|
)
|
|
|
|
if(NOT BUILD_SHARED_LIBS)
|
|
target_compile_definitions(hidapi_winapi
|
|
# prevent marking functions as __declspec(dllexport) for static library build
|
|
# #480: this should be refactored for v1.0
|
|
PUBLIC HID_API_NO_EXPORT_DEFINE
|
|
)
|
|
endif()
|
|
|
|
set_target_properties(hidapi_winapi
|
|
PROPERTIES
|
|
EXPORT_NAME "winapi"
|
|
OUTPUT_NAME "hidapi"
|
|
VERSION ${PROJECT_VERSION}
|
|
PUBLIC_HEADER "${HIDAPI_PUBLIC_HEADERS}"
|
|
)
|
|
|
|
# compatibility with find_package()
|
|
add_library(hidapi::winapi ALIAS hidapi_winapi)
|
|
# compatibility with raw library link
|
|
add_library(hidapi ALIAS hidapi_winapi)
|
|
|
|
if(HIDAPI_INSTALL_TARGETS)
|
|
install(TARGETS hidapi_winapi EXPORT hidapi
|
|
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
|
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
|
PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/hidapi"
|
|
)
|
|
endif()
|
|
|
|
hidapi_configure_pc("${PROJECT_ROOT}/pc/hidapi.pc.in")
|
|
|
|
if(HIDAPI_WITH_TESTS)
|
|
add_subdirectory(test)
|
|
endif()
|
|
|
|
if(DEFINED HIDAPI_BUILD_PP_DATA_DUMP AND HIDAPI_BUILD_PP_DATA_DUMP)
|
|
add_subdirectory(pp_data_dump)
|
|
endif()
|