add_library(hidapi_netbsd ${HIDAPI_PUBLIC_HEADERS} hid.c ) if(HIDAPI_BUILD_AS_CXX) set_source_files_properties(hid.c PROPERTIES LANGUAGE CXX) endif() target_link_libraries(hidapi_netbsd PUBLIC hidapi_include) find_package(Threads REQUIRED) target_link_libraries(hidapi_netbsd PRIVATE Threads::Threads) # check for error: "conflicting types for 'iconv'" include(CheckCSourceCompiles) check_c_source_compiles("#include extern size_t iconv (iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); int main() {}" HIDAPI_ICONV_CONST) if(HIDAPI_ICONV_CONST) target_compile_definitions(hidapi_netbsd PRIVATE "ICONV_CONST=const") endif() set_target_properties(hidapi_netbsd PROPERTIES EXPORT_NAME "netbsd" OUTPUT_NAME "hidapi-netbsd" VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} PUBLIC_HEADER "${HIDAPI_PUBLIC_HEADERS}" ) # compatibility with find_package() add_library(hidapi::netbsd ALIAS hidapi_netbsd) # compatibility with raw library link add_library(hidapi-netbsd ALIAS hidapi_netbsd) if(HIDAPI_INSTALL_TARGETS) install(TARGETS hidapi_netbsd EXPORT hidapi 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-backend-specific.pc.in" OUTPUT_NAME "hidapi-netbsd" LIBRARY_NAME "hidapi-netbsd" DESCRIPTION "C Library for USB/Bluetooth HID device access from Linux, Mac OS X, FreeBSD, and Windows. This is the netbsd implementation." )