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()