summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlexander Gavrilov2012-08-17 22:40:53 +0400
committerAlexander Gavrilov2012-08-17 22:40:53 +0400
commit236ffd578b66805fa45d65df79e099d00156bfff (patch)
treecdbf17b2c1fb3c3cf5135531861ecd0c90061abe /CMakeLists.txt
parentbcc41c081a43a68042c4757a6569cb690098d9b8 (diff)
downloaddfhack-236ffd578b66805fa45d65df79e099d00156bfff.tar.gz
dfhack-236ffd578b66805fa45d65df79e099d00156bfff.tar.bz2
dfhack-236ffd578b66805fa45d65df79e099d00156bfff.tar.xz
Add experimental support for interposing vmethods of known classes.
The hairiest bit is the abuse of compiler-specific pointer-to-member internals in order to provide more or less transparent API.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt3
1 files changed, 3 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f77a6c3b..dfb13cd5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -111,6 +111,9 @@ IF(UNIX)
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -Wall -Wno-unused-variable")
SET(CMAKE_CXX_FLAGS "-fvisibility=hidden -m32 -march=i686 -mtune=generic -std=c++0x")
SET(CMAKE_C_FLAGS "-fvisibility=hidden -m32 -march=i686 -mtune=generic")
+ELSEIF(MSVC)
+ # for msvc, tell it to always use 8-byte pointers to member functions to avoid confusion
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /vmg /vmm")
ENDIF()
# use shared libraries for protobuf