diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1ec8c3ec6271781542529eea29f51539533ab06c..d4efd0e25f56180462831d5c315734d6ad834d2d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -108,8 +108,8 @@ include(CheckTypeSize)
 check_type_size("ssize_t" SIZEOF_SSIZE_T)
 if(SIZEOF_SSIZE_T STREQUAL "")
   # ssize_t is a signed type in POSIX storing at least -1.
-  # Set it to "int" to match the behavior of AC_TYPE_SSIZE_T (autotools).
-  set(ssize_t int)
+  # Set it to a pointer-size int.
+  set(ssize_t ptrdiff_t)
 endif()
 
 # Checks for symbols.