Win/glave: Compile/link the glvtrace_xgl64.dll library on Windows.
authorIan Elliott <ian@LunarG.com>
Fri, 27 Feb 2015 00:01:30 +0000 (17:01 -0700)
committerCourtney Goeltzenleuchter <courtney@LunarG.com>
Tue, 3 Mar 2015 00:21:11 +0000 (17:21 -0700)
glave-generate.py
tools/glave/src/glv_extensions/glvtrace_xgl/CMakeLists.txt

index 1f40af7..0bc21ab 100755 (executable)
@@ -160,7 +160,7 @@ class Subcommand(object):
         func_protos.append('// Hooked function prototypes\n')
         for proto in self.protos:
             if 'Dbg' not in proto.name and 'Wsi' not in proto.name:
-                func_protos.append('%s;' % proto.c_func(prefix="__HOOKED_xgl", attr="XGLAPI"))
+                func_protos.append('GLVTRACER_EXPORT %s;' % proto.c_func(prefix="__HOOKED_xgl", attr="XGLAPI"))
 
         return "\n".join(func_protos)
 
@@ -169,7 +169,7 @@ class Subcommand(object):
         func_protos.append('// Hooked function prototypes\n')
         for proto in self.protos:
             if func_class in proto.name:
-                func_protos.append('%s;' % proto.c_func(prefix="__HOOKED_xgl", attr="XGLAPI"))
+                func_protos.append('GLVTRACER_EXPORT %s;' % proto.c_func(prefix="__HOOKED_xgl", attr="XGLAPI"))
 
         return "\n".join(func_protos)
 
index fdcbf94..999ac9c 100644 (file)
@@ -1,8 +1,5 @@
 cmake_minimum_required(VERSION 2.8)
 
-# this project is currently only available on Linux
-if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
-
 project(glvtrace_xgl)
 
 include("${SRC_DIR}/build_options.cmake")
@@ -64,14 +61,23 @@ target_link_libraries(${PROJECT_NAME}
 endif()
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-target_link_libraries(${PROJECT_NAME} 
-    glvcommon
-    ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/libXGL.dll
-)
+    set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXGL_PROTOTYPES -DXCB_NVIDIA")
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DXGL_PROTOTYPES -DXCB_NVIDIA")
+    set(PATH_TO_WIN_XGL ${CMAKE_CURRENT_BINARY_DIR}/../../../../../loader/${CMAKE_CFG_INTDIR})
+    set(PATH_TO_MHOOK ${CMAKE_CURRENT_BINARY_DIR}/../../thirdparty/mhook/mhook-lib/${CMAKE_CFG_INTDIR})
+    set(PATH_TO_DISASM ${CMAKE_CURRENT_BINARY_DIR}/../../thirdparty/mhook/disasm-lib/${CMAKE_CFG_INTDIR})
+    set(OS_REPLAYER_LIBS
+        ${PATH_TO_WIN_XGL}/XGL.lib
+        ${PATH_TO_MHOOK}/mhook.lib
+        ${PATH_TO_DISASM}/disasm.lib
+        xcb_nvidia
+    )
+    target_link_libraries(${PROJECT_NAME} 
+        glvcommon
+       ${OS_REPLAYER_LIBS}
+    )
 endif()
 
 build_options_finalize()
 
 set_target_properties(glvtrace_xgl PROPERTIES LINKER_LANGUAGE C)
-
-endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")