summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2013-09-15 00:23:46 +0200
committerStanislaw Halik <sthalik@misaki.pl>2013-09-15 00:23:46 +0200
commit8a953439f1fe8d331dd2fc51c244b0003f68dae0 (patch)
tree69a5a94a7ce5b9297485ecd7fbd8c33e4c5f7e09
parent15c88252feb95fa73b993cb086c9b10137efd935 (diff)
Workaround GNU ld bugs with win32-specific stuff
-rw-r--r--CMakeLists.txt10
-rw-r--r--freetrackclient/freetrackclient.def6
2 files changed, 10 insertions, 6 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d5d4684a..b022e79b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -371,13 +371,11 @@ endif()
add_library(opentrack-proto-win32-mouse SHARED ${opentrack-proto-win32-mouse-c} ${opentrack-proto-win32-mouse-moc} ${opentrack-proto-win32-mouse-uih} ${opentrack-proto-win32-mouse-rcc})
target_link_libraries(opentrack-proto-win32-mouse ${MY_QT_LIBS})
- add_library(freetrackclient SHARED ${opentrack-freetrack-c})
if(CMAKE_COMPILER_IS_GNUCC)
- set_target_properties(freetrackclient PROPERTIES
- LINK_FLAGS "-Wl,--kill-at"
- LIBRARY_OUTPUT_NAME "freetrackclient.dll"
- PREFIX "" SUFFIX ""
- )
+ add_library(freetrackclient SHARED ${opentrack-freetrack-c} "${CMAKE_SOURCE_DIR}/freetrackclient/freetrackclient.def")
+ set_target_properties(freetrackclient PROPERTIES LINK_FLAGS "-Wl,--enable-stdcall-fixup")
+ else()
+ add_library(freetrackclient SHARED ${opentrack-freetrack-c})
endif()
endif()
diff --git a/freetrackclient/freetrackclient.def b/freetrackclient/freetrackclient.def
new file mode 100644
index 00000000..155648dd
--- /dev/null
+++ b/freetrackclient/freetrackclient.def
@@ -0,0 +1,6 @@
+LIBRARY freetrackclient.dll
+EXPORTS
+FTGetData@4 = FTGetData
+FTReportName@4 = FTReportName
+FTGetDllVersion@0 = FTGetDllVersion
+FTProvider@0 = FTProvider