diff options
-rw-r--r-- | CMakeLists.txt | 14 | ||||
-rw-r--r-- | NitrokeyManager.cc | 7 | ||||
-rw-r--r-- | device.cc | 4 | ||||
m--------- | hidapi | 0 |
4 files changed, 20 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 46405a9..1dcffb7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,7 +62,10 @@ set(SOURCE_FILES NK_C_API.cc DeviceCommunicationExceptions.cpp) -IF(UNIX) +IF(APPLE) + #include_directories(hidapi/hidapi) + #add_library(hidapi-libusb STATIC hidapi/mac/hid.c ) +ELSEIF(UNIX) # add_library(hidapi-libusb STATIC hidapi/libusb/hid.c ) ELSEIF(WIN32) include_directories(hidapi/hidapi) @@ -80,8 +83,11 @@ ELSE() add_library(nitrokey-static-log STATIC ${SOURCE_FILES}) SET(LIBNAME nitrokey-static) ENDIF() -target_link_libraries(${LIBNAME} hidapi-libusb) -target_link_libraries(${LIBNAME}-log hidapi-libusb) + +IF(NOT APPLE) + target_link_libraries(${LIBNAME} hidapi-libusb) + target_link_libraries(${LIBNAME}-log hidapi-libusb) +ENDIF() SET_TARGET_PROPERTIES(${LIBNAME} PROPERTIES COMPILE_DEFINITIONS "NO_LOG") @@ -124,4 +130,4 @@ include (InstallRequiredSystemLibraries) set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") set (CPACK_PACKAGE_VERSION "${PROJECT_VERSION}") -include (CPack)
\ No newline at end of file +include (CPack) diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc index 140d4d3..12f4671 100644 --- a/NitrokeyManager.cc +++ b/NitrokeyManager.cc @@ -15,6 +15,13 @@ namespace nitrokey{ std::mutex mex_dev_com; + /** + * Copies string from pointer to fixed size C-style array. Src needs to be a valid C-string - eg. ended with '\0'. + * Throws when source is bigger than destination. + * @tparam T type of destination array + * @param dest fixed size destination array + * @param src pointer to source c-style valid string + */ template <typename T> void strcpyT(T& dest, const char* src){ @@ -49,10 +49,12 @@ bool Device::_disconnect() { hid_close(mp_devhandle); mp_devhandle = nullptr; +#ifndef __APPLE__ if (instances_count == 1){ LOG(std::string("Calling hid_exit"), Loglevel::DEBUG_L2); hid_exit(); } +#endif return true; } @@ -204,4 +206,4 @@ std::string Device::ErrorCounters::get_as_string() { p(receiving_error); return ss.str(); } -#undef p
\ No newline at end of file +#undef p diff --git a/hidapi b/hidapi -Subproject 69c45b083821037667a9409b952282f9cb4dcca +Subproject b24dd9c36c4aacfd5ba7b1f0277d98bbbee43f1 |