diff --git a/CMakeLists.txt b/CMakeLists.txt
index 11898db5c6843deae00282d8af8ac4103ae4c43e..6eb065d049e11122d8542ae6b147c3abcef17853 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -54,6 +54,14 @@ macro(copy_files_to_build_dir target dlllist_var)
 	endif()
 endmacro()
 
+# 64-bit check
+if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
+	message(STATUS "Target is 64-bit")
+	set(SRB2_SYSTEM_BITS 64)
+else()
+	set(SRB2_SYSTEM_BITS 32)
+endif()
+
 # OS macros
 if (UNIX)
 	add_definitions(-DUNIXCOMMON)
@@ -65,6 +73,9 @@ endif()
 
 if(${CMAKE_SYSTEM} MATCHES "Linux")
 	add_definitions(-DLINUX)
+	if(${SRB2_SYSTEM_BITS} EQUAL 64)
+		add_definitions(-DLINUX64)
+	endif()
 endif()
 
 if(${CMAKE_SYSTEM} MATCHES "Darwin")