project(vnrhook) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) set(vnrhook_src include/const.h include/defs.h include/types.h src/except.h src/main.cc src/main.h src/pipe.cc src/engine/engine.cc src/engine/engine.h src/engine/hookdefs.h src/engine/match.cc src/engine/match.h src/engine/pchooks.cc src/engine/pchooks.h src/engine/mono/funcinfo.h src/engine/mono/types.h src/engine/ppsspp/funcinfo.h src/hijack/texthook.cc src/hijack/texthook.h src/util/growl.h src/util/util.cc src/util/util.h src/util/ithsys/ithsys.cc src/util/disasm/disasm.cc src/util/memdbg/memdbg.h src/util/memdbg/memsearch.cc src/util/memdbg/memsearch.h src/util/mono/monoobject.h src/util/mono/monotype.h ) include_directories(src/util) add_library(vnrhook SHARED ${vnrhook_src}) enable_language(ASM_MASM) set_source_files_properties( ${PROJECT_SOURCE_DIR}/winseh/safeseh.asm PROPERTIES # CMAKE_ASM_MASM_FLAGS /safeseh # CMake bug 14711: http://www.cmake.org/Bug/view.php?id=14711 COMPILE_FLAGS /safeseh ) set_target_properties(vnrhook PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /MANIFEST:NO" ) target_compile_options(vnrhook PRIVATE /EHa $<$:> $<$:> ) set(vnrhook_libs ntdll.lib Version.lib ) target_link_libraries(vnrhook ${vnrhook_libs}) target_compile_definitions(vnrhook PRIVATE ITH_HAS_CRT ITH_HAS_SEH _CRT_NON_CONFORMING_SWPRINTFS )