diff options
-rw-r--r-- | host/lib/transport/CMakeLists.txt | 11 | ||||
-rw-r--r-- | host/lib/transport/udp_zero_copy.cpp | 9 |
2 files changed, 16 insertions, 4 deletions
diff --git a/host/lib/transport/CMakeLists.txt b/host/lib/transport/CMakeLists.txt index 3cae6180a..8e8ea5ea8 100644 --- a/host/lib/transport/CMakeLists.txt +++ b/host/lib/transport/CMakeLists.txt @@ -90,6 +90,17 @@ IF(WIN32) LIBUHD_APPEND_LIBS(ws2_32) ENDIF() +#atlbase.h is not included with visual studio express +#conditionally check for atlbase.h and define if found +INCLUDE(CheckIncludeFileCXX) +CHECK_INCLUDE_FILE_CXX(atlbase.h HAVE_ATLBASE_H) +IF(HAVE_ATLBASE_H) + SET_SOURCE_FILES_PROPERTIES( + ${CMAKE_CURRENT_SOURCE_DIR}/udp_zero_copy.cpp + PROPERTIES COMPILE_DEFINITIONS "HAVE_ATLBASE_H" + ) +ENDIF(HAVE_ATLBASE_H) + ######################################################################## # Append to the list of sources for lib uhd ######################################################################## diff --git a/host/lib/transport/udp_zero_copy.cpp b/host/lib/transport/udp_zero_copy.cpp index e43a96dd0..0ccc92b82 100644 --- a/host/lib/transport/udp_zero_copy.cpp +++ b/host/lib/transport/udp_zero_copy.cpp @@ -35,7 +35,8 @@ static const size_t DEFAULT_NUM_FRAMES = 32; /*********************************************************************** * Check registry for correct fast-path setting (windows only) **********************************************************************/ -#ifdef UHD_PLATFORM_WIN32 +#ifdef HAVE_ATLBASE_H +#define CHECK_REG_SEND_THRESH #include <atlbase.h> //CRegKey static void check_registry_for_fast_send_threshold(const size_t mtu){ static bool warned = false; @@ -56,7 +57,7 @@ static void check_registry_for_fast_send_threshold(const size_t mtu){ } reg_key.Close(); } -#endif /*UHD_PLATFORM_WIN32*/ +#endif /*HAVE_ATLBASE_H*/ /*********************************************************************** * Reusable managed receiver buffer: @@ -149,9 +150,9 @@ public: { UHD_LOG << boost::format("Creating udp transport for %s %s") % addr % port << std::endl; - #ifdef UHD_PLATFORM_WIN32 + #ifdef CHECK_REG_SEND_THRESH check_registry_for_fast_send_threshold(this->get_send_frame_size()); - #endif /*UHD_PLATFORM_WIN32*/ + #endif /*CHECK_REG_SEND_THRESH*/ //resolve the address asio::ip::udp::resolver resolver(_io_service); |