aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt3
-rw-r--r--cmake/GlobalConfig.cmake2
-rw-r--r--profiling/common/include/NetworkSockets.hpp1
-rw-r--r--profiling/server/src/basePipeServer/CMakeLists.txt2
-rw-r--r--src/armnn/Logging.cpp6
-rw-r--r--src/armnn/test/UnitTests.cpp2
-rw-r--r--src/armnnUtils/Filesystem.cpp3
-rw-r--r--src/armnnUtils/Processes.cpp3
-rw-r--r--src/armnnUtils/WindowsWrapper.hpp17
9 files changed, 28 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88e813a357..8f8060a10b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -73,6 +73,7 @@ list(APPEND armnnUtils_sources
src/armnnUtils/TensorIOUtils.hpp
src/armnnUtils/TensorUtils.cpp
src/armnnUtils/Transpose.cpp
+ src/armnnUtils/WindowsWrapper.hpp
)
add_library_ex(armnnUtils STATIC ${armnnUtils_sources})
@@ -255,6 +256,7 @@ list(APPEND armnn_sources
profiling/common/include/ProfilingException.hpp
profiling/common/include/SocketConnectionException.hpp
profiling/common/include/Constants.hpp
+ profiling/common/include/NetworkSockets.hpp
profiling/common/src/NetworkSockets.cpp
src/armnn/layers/LayerCloneBase.hpp
src/armnn/layers/LayerWithParameters.hpp
@@ -1076,6 +1078,7 @@ if(BUILD_GATORD_MOCK)
target_include_directories(GatordMock PRIVATE profiling/common/include
profiling/server/src/basePipeServer
+ src/armnnUtils
src/profiling
src/timelineDecoder)
diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
index 4e20cc7da5..6aa6321e4b 100644
--- a/cmake/GlobalConfig.cmake
+++ b/cmake/GlobalConfig.cmake
@@ -68,7 +68,7 @@ if(COMPILER_IS_GNU_LIKE)
elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
# Disable C4996 (use of deprecated identifier) due to https://developercommunity.visualstudio.com/content/problem/252574/deprecated-compilation-warning-for-virtual-overrid.html
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /wd4996")
- add_definitions(-DNOMINMAX=1 -DNO_STRICT=1)
+ add_definitions(-DNO_STRICT=1)
endif()
if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -llog")
diff --git a/profiling/common/include/NetworkSockets.hpp b/profiling/common/include/NetworkSockets.hpp
index 77507644e6..de20ff14e2 100644
--- a/profiling/common/include/NetworkSockets.hpp
+++ b/profiling/common/include/NetworkSockets.hpp
@@ -16,6 +16,7 @@
#include <sys/socket.h>
#include <sys/un.h>
#elif defined(_MSC_VER)
+#include <WindowsWrapper.hpp>
#include <winsock2.h>
#include <afunix.h>
#endif
diff --git a/profiling/server/src/basePipeServer/CMakeLists.txt b/profiling/server/src/basePipeServer/CMakeLists.txt
index a2567cede6..56ef4548ec 100644
--- a/profiling/server/src/basePipeServer/CMakeLists.txt
+++ b/profiling/server/src/basePipeServer/CMakeLists.txt
@@ -24,6 +24,8 @@ if(BUILD_BASE_PIPE_SERVER)
set_target_properties(armnnBasePipeServer PROPERTIES VERSION ${GENERIC_LIB_VERSION}
SOVERSION ${GENERIC_LIB_SOVERSION})
+ target_include_directories(armnnBasePipeServer PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
+
target_link_libraries(armnnBasePipeServer armnn)
if ("${CMAKE_SYSTEM_NAME}" STREQUAL Windows)
target_link_libraries(armnnBasePipeServer Ws2_32.lib)
diff --git a/src/armnn/Logging.cpp b/src/armnn/Logging.cpp
index a3ca7ce118..6db4afaf49 100644
--- a/src/armnn/Logging.cpp
+++ b/src/armnn/Logging.cpp
@@ -9,11 +9,7 @@
#include <armnn/utility/Assert.hpp>
#if defined(_MSC_VER)
-#ifndef NOMINMAX
-#define NOMINMAX // Prevent definition of min/max macros that interfere with std::min/max
-#endif
-#include <Windows.h>
-#undef TIME_MS // Windows.h defines this but we don't need it and it interferes with our definition in Instrument.hpp
+#include <WindowsWrapper.hpp>
#endif
#if defined(__ANDROID__)
diff --git a/src/armnn/test/UnitTests.cpp b/src/armnn/test/UnitTests.cpp
index 071bff0ed8..d66a847512 100644
--- a/src/armnn/test/UnitTests.cpp
+++ b/src/armnn/test/UnitTests.cpp
@@ -24,7 +24,7 @@ BOOST_GLOBAL_FIXTURE(ConfigureLoggingFixture);
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/iostreams/tee.hpp>
#include <iostream>
-#include <Windows.h>
+#include <WindowsWrapper.hpp>
using namespace boost::iostreams;
using namespace std;
diff --git a/src/armnnUtils/Filesystem.cpp b/src/armnnUtils/Filesystem.cpp
index 6c8175b202..886d7dad30 100644
--- a/src/armnnUtils/Filesystem.cpp
+++ b/src/armnnUtils/Filesystem.cpp
@@ -9,8 +9,7 @@
#include <sys/stat.h>
#include <stdio.h>
#elif defined(_MSC_VER)
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
+#include "WindowsWrapper.hpp"
#endif
namespace armnnUtils
diff --git a/src/armnnUtils/Processes.cpp b/src/armnnUtils/Processes.cpp
index 0e43e8cecd..6c216cf440 100644
--- a/src/armnnUtils/Processes.cpp
+++ b/src/armnnUtils/Processes.cpp
@@ -8,8 +8,7 @@
#if defined(__unix__)
#include <unistd.h>
#elif defined(_MSC_VER)
-#define WIN32_LEAN_AND_MEAN
-#include <Windows.h>
+#include "WindowsWrapper.hpp"
#endif
namespace armnnUtils
diff --git a/src/armnnUtils/WindowsWrapper.hpp b/src/armnnUtils/WindowsWrapper.hpp
new file mode 100644
index 0000000000..7f02cb1a16
--- /dev/null
+++ b/src/armnnUtils/WindowsWrapper.hpp
@@ -0,0 +1,17 @@
+//
+// Copyright © 2020 Arm Ltd. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+// This header brings in the Win32 API header, with some small modifications applied to prevent clashes with our code.
+
+#if defined(_MSC_VER)
+
+#define NOMINMAX // Prevent definition of min/max macros that interfere with std::min/max
+#define WIN32_LEAN_AND_MEAN
+#include <Windows.h>
+// Windows.h defines some names that we don't need and interfere with some of our definition
+#undef TIME_MS // Instrument.hpp
+#undef CreateEvent // ITimelineDecoder.hpp
+
+#endif