From 2518d314ac8f329b36ce120fb92cd515c1bd948a Mon Sep 17 00:00:00 2001
From: Stephen Birarda <commit@birarda.com>
Date: Thu, 10 Apr 2014 10:19:45 -0700
Subject: [PATCH] add ssize_t definition for gnutls.h include on Windows

---
 animation-server/CMakeLists.txt        | 5 +++++
 assignment-client/CMakeLists.txt       | 5 +++++
 domain-server/CMakeLists.txt           | 5 +++++
 interface/CMakeLists.txt               | 5 +++++
 libraries/audio/CMakeLists.txt         | 6 ++++++
 libraries/avatars/CMakeLists.txt       | 6 ++++++
 libraries/metavoxels/CMakeLists.txt    | 6 ++++++
 libraries/octree/CMakeLists.txt        | 5 +++++
 libraries/particles/CMakeLists.txt     | 6 ++++++
 libraries/script-engine/CMakeLists.txt | 5 +++++
 libraries/voxels/CMakeLists.txt        | 5 +++++
 voxel-edit/CMakeLists.txt              | 3 +++
 12 files changed, 62 insertions(+)

diff --git a/animation-server/CMakeLists.txt b/animation-server/CMakeLists.txt
index 80544c103a..5d9f3604bc 100644
--- a/animation-server/CMakeLists.txt
+++ b/animation-server/CMakeLists.txt
@@ -37,5 +37,10 @@ find_package(GnuTLS REQUIRED)
 # include the GnuTLS dir
 include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 # link GnuTLS
 target_link_libraries(${TARGET_NAME} "${GNUTLS_LIBRARY}")
\ No newline at end of file
diff --git a/assignment-client/CMakeLists.txt b/assignment-client/CMakeLists.txt
index ce2c6b6d4e..d63d09520a 100644
--- a/assignment-client/CMakeLists.txt
+++ b/assignment-client/CMakeLists.txt
@@ -37,6 +37,11 @@ link_hifi_library(embedded-webserver ${TARGET_NAME} "${ROOT_DIR}")
 find_package(GnuTLS REQUIRED)
 include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 if (UNIX)
   target_link_libraries(${TARGET_NAME} ${CMAKE_DL_LIBS})
 endif (UNIX)
diff --git a/domain-server/CMakeLists.txt b/domain-server/CMakeLists.txt
index 5388d5d8e0..4736c2438b 100644
--- a/domain-server/CMakeLists.txt
+++ b/domain-server/CMakeLists.txt
@@ -41,6 +41,11 @@ link_hifi_library(embedded-webserver ${TARGET_NAME} "${ROOT_DIR}")
 # include the GnuTLS dir
 include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 IF (WIN32)
   target_link_libraries(${TARGET_NAME} Winmm Ws2_32)
 ENDIF(WIN32)
diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt
index d435f048ab..d205719c21 100644
--- a/interface/CMakeLists.txt
+++ b/interface/CMakeLists.txt
@@ -192,6 +192,11 @@ include_directories("${PROJECT_SOURCE_DIR}/src" "${PROJECT_BINARY_DIR}/includes"
 # use system flag so warnings are supressed
 include_directories(SYSTEM "${FACESHIFT_INCLUDE_DIRS}" "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(
   ${TARGET_NAME}
   "${FACESHIFT_LIBRARIES}"
diff --git a/libraries/audio/CMakeLists.txt b/libraries/audio/CMakeLists.txt
index e34dfa65f5..d5cd02f083 100644
--- a/libraries/audio/CMakeLists.txt
+++ b/libraries/audio/CMakeLists.txt
@@ -26,4 +26,10 @@ link_hifi_library(networking ${TARGET_NAME} "${ROOT_DIR}")
 # link GnuTLS
 find_package(GnuTLS REQUIRED)
 include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
+
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} "${GNUTLS_LIBRARY}")
\ No newline at end of file
diff --git a/libraries/avatars/CMakeLists.txt b/libraries/avatars/CMakeLists.txt
index c4eff1c45b..8c6b6417a1 100644
--- a/libraries/avatars/CMakeLists.txt
+++ b/libraries/avatars/CMakeLists.txt
@@ -30,4 +30,10 @@ link_hifi_library(networking ${TARGET_NAME} "${ROOT_DIR}")
 
 find_package(GnuTLS REQUIRED)
 include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
+
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} Qt5::Script "${GNUTLS_LIBRARY}")
\ No newline at end of file
diff --git a/libraries/metavoxels/CMakeLists.txt b/libraries/metavoxels/CMakeLists.txt
index 220cca1f11..6d88006d84 100644
--- a/libraries/metavoxels/CMakeLists.txt
+++ b/libraries/metavoxels/CMakeLists.txt
@@ -29,4 +29,10 @@ include_glm(${TARGET_NAME} "${ROOT_DIR}")
 
 find_package(GnuTLS REQUIRED)
 include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
+
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} Qt5::Network Qt5::Widgets Qt5::Script "${GNUTLS_LIBRARY}")
\ No newline at end of file
diff --git a/libraries/octree/CMakeLists.txt b/libraries/octree/CMakeLists.txt
index 9118ee6215..0d2cb330b6 100644
--- a/libraries/octree/CMakeLists.txt
+++ b/libraries/octree/CMakeLists.txt
@@ -30,4 +30,9 @@ find_package(GnuTLS REQUIRED)
 
 include_directories(SYSTEM "${ZLIB_INCLUDE_DIRS}" "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} "${ZLIB_LIBRARIES}" Qt5::Widgets "${GNUTLS_LIBRARY}")
\ No newline at end of file
diff --git a/libraries/particles/CMakeLists.txt b/libraries/particles/CMakeLists.txt
index 2cd5a1644b..fa97f87854 100644
--- a/libraries/particles/CMakeLists.txt
+++ b/libraries/particles/CMakeLists.txt
@@ -30,4 +30,10 @@ find_package(ZLIB)
 find_package(GnuTLS REQUIRED)
 
 include_directories(SYSTEM "${ZLIB_INCLUDE_DIRS}" "${GNUTLS_INCLUDE_DIR}")
+
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} "${ZLIB_LIBRARIES}" Qt5::Widgets "${GNUTLS_LIBRARY}")
\ No newline at end of file
diff --git a/libraries/script-engine/CMakeLists.txt b/libraries/script-engine/CMakeLists.txt
index 78f698a7d1..414ac1e9eb 100644
--- a/libraries/script-engine/CMakeLists.txt
+++ b/libraries/script-engine/CMakeLists.txt
@@ -31,4 +31,9 @@ find_package(ZLIB)
 find_package(GnuTLS REQUIRED)
 include_directories(SYSTEM "${ZLIB_INCLUDE_DIRS}" "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} "${ZLIB_LIBRARIES}" "${GNUTLS_LIBRARY}" Qt5::Widgets)
diff --git a/libraries/voxels/CMakeLists.txt b/libraries/voxels/CMakeLists.txt
index c39525e279..dc13603450 100644
--- a/libraries/voxels/CMakeLists.txt
+++ b/libraries/voxels/CMakeLists.txt
@@ -32,4 +32,9 @@ find_package(GnuTLS REQUIRED)
 
 include_directories(SYSTEM "${ZLIB_INCLUDE_DIRS}" "${GNUTLS_INCLUDE_DIR}")
 
+# add a definition for ssize_t so that windows doesn't bail on gnutls.h
+if (WIN32)
+  add_definitions(-Dssize_t=long)
+endif ()
+
 target_link_libraries(${TARGET_NAME} "${ZLIB_LIBRARIES}" "${GNUTLS_LIBRARY}" Qt5::Widgets Qt5::Script)
\ No newline at end of file
diff --git a/voxel-edit/CMakeLists.txt b/voxel-edit/CMakeLists.txt
index 0717aea479..65e82932b2 100644
--- a/voxel-edit/CMakeLists.txt
+++ b/voxel-edit/CMakeLists.txt
@@ -40,6 +40,9 @@ include_directories(SYSTEM "${GNUTLS_INCLUDE_DIR}")
 
 IF (WIN32)
 	target_link_libraries(${TARGET_NAME} Winmm Ws2_32)
+  
+  # add a definition for ssize_t so that windows doesn't bail on gnutls.h  
+  add_definitions(-Dssize_t=long)
 ENDIF(WIN32)
 
 target_link_libraries(${TARGET_NAME} Qt5::Script "${GNUTLS_LIBRARY}")
\ No newline at end of file