aboutsummaryrefslogtreecommitdiffstats
path: root/host/include
diff options
context:
space:
mode:
authorCiro Nishiguchi <cironishiguchi@gmail.com>2018-08-21 13:41:43 -0500
committerBrent Stapleton <bstapleton@g.hmc.edu>2018-08-22 17:42:39 -0700
commit27a2182974869539c66a746a5f449d8ded0fb307 (patch)
tree54a26bf0bbb651844484ffa395881015f224295d /host/include
parent3814e07606514a650b99e4909bd2fb1bdfadc2e2 (diff)
downloaduhd-27a2182974869539c66a746a5f449d8ded0fb307.tar.gz
uhd-27a2182974869539c66a746a5f449d8ded0fb307.tar.bz2
uhd-27a2182974869539c66a746a5f449d8ded0fb307.zip
uhd: Define UHD_API as empty string when building static lib
Fixes #2484 When building uhd host as a static library on Windows, UHD_API is defined as __declspec(dllimport). This results in MSVC returning error C2491 during compilation. Added a preprocessor define UHD_STATIC_LIB in cmake and made the config headers set UHD_API to empty string when UHD_STATIC_LIB is defined.
Diffstat (limited to 'host/include')
-rw-r--r--host/include/uhd/config.h14
-rw-r--r--host/include/uhd/config.hpp13
2 files changed, 19 insertions, 8 deletions
diff --git a/host/include/uhd/config.h b/host/include/uhd/config.h
index 2cb399778..1aab06526 100644
--- a/host/include/uhd/config.h
+++ b/host/include/uhd/config.h
@@ -57,11 +57,17 @@ typedef ptrdiff_t ssize_t;
#endif
// API declaration macro
-#ifdef UHD_DLL_EXPORTS
- #define UHD_API UHD_EXPORT
+
+// Define API declaration macro
+#ifdef UHD_STATIC_LIB
+ #define UHD_API
#else
- #define UHD_API UHD_IMPORT
-#endif // UHD_DLL_EXPORTS
+ #ifdef UHD_DLL_EXPORTS
+ #define UHD_API UHD_EXPORT
+ #else
+ #define UHD_API UHD_IMPORT
+ #endif // UHD_DLL_EXPORTS
+#endif // UHD_STATIC_LIB
// Platform defines for conditional code:
// Taken from boost/config/select_platform_config.hpp,
diff --git a/host/include/uhd/config.hpp b/host/include/uhd/config.hpp
index 4db905b67..0f619c94a 100644
--- a/host/include/uhd/config.hpp
+++ b/host/include/uhd/config.hpp
@@ -82,11 +82,16 @@ typedef ptrdiff_t ssize_t;
#endif
// Define API declaration macro
-#ifdef UHD_DLL_EXPORTS
- #define UHD_API UHD_EXPORT
+#ifdef UHD_STATIC_LIB
+ #define UHD_API
#else
- #define UHD_API UHD_IMPORT
-#endif // UHD_DLL_EXPORTS
+ #ifdef UHD_DLL_EXPORTS
+ #define UHD_API UHD_EXPORT
+ #else
+ #define UHD_API UHD_IMPORT
+ #endif // UHD_DLL_EXPORTS
+#endif // UHD_STATIC_LIB
+
#ifdef UHD_RFNOC_ENABLED
#define UHD_RFNOC_API UHD_API
#else