Skip to content

Commit

Permalink
windows: Have a separate definition flag for export (#515)
Browse files Browse the repository at this point in the history
On some compilers an empty definition (e.g. -DHID_API_EXPORT)
means the same as `=1` (i.e. -DHID_API_EXPORT=1), but the HID_API_EXPORT macro should be
empty in static library build case.

Having a separate compiler definition flag solves that issue.
  • Loading branch information
Youw authored Mar 13, 2023
1 parent e6caff3 commit fc3eed3
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 9 deletions.
15 changes: 7 additions & 8 deletions hidapi/hidapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,17 @@

#include <wchar.h>

/* #480: this is to be refactored properly for v1.0 */
#ifdef _WIN32
/* #480: this is to be refactored properly for v1.0 */
#ifndef HID_API_EXPORT
#ifndef HID_API_NO_EXPORT_DEFINE
#define HID_API_EXPORT __declspec(dllexport)
#endif
#define HID_API_CALL
#else
#ifndef HID_API_EXPORT
#define HID_API_EXPORT /**< API export macro */
#endif
#define HID_API_CALL /**< API call macro */
#endif
#ifndef HID_API_EXPORT
#define HID_API_EXPORT /**< API export macro */
#endif
/* To be removed in v1.0 */
#define HID_API_CALL /**< API call macro */

#define HID_API_EXPORT_CALL HID_API_EXPORT HID_API_CALL /**< API export and call macro*/

Expand Down
2 changes: 1 addition & 1 deletion windows/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ 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_EXPORT
PUBLIC HID_API_NO_EXPORT_DEFINE
)
endif()

Expand Down

0 comments on commit fc3eed3

Please sign in to comment.