summaryrefslogtreecommitdiffhomepage
path: root/tracker-rs
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2016-07-07 15:44:20 +0200
committerStanislaw Halik <sthalik@misaki.pl>2016-07-07 15:44:20 +0200
commitf98dcfc2360302753f9a8bf66ee8ccfe4366f0e7 (patch)
treea068abf3a21781f0a6450fc0fabdc606c1a4ddfb /tracker-rs
parent5f5ca66c58ad30d0c218b2da904aa3f722e18ebe (diff)
tracker/rs: use static linkage
There's no reason not to link statically the impl library. As suggested by @ph0b, use subdirs for each arch. This helps with object file clobber.
Diffstat (limited to 'tracker-rs')
-rw-r--r--tracker-rs/CMakeLists.txt10
-rw-r--r--tracker-rs/rs_impl/bin/amd64/.gitignore (renamed from tracker-rs/rs_impl/bin/.gitignore)1
-rw-r--r--tracker-rs/rs_impl/bin/amd64/rs-impl.libbin0 -> 19184 bytes
-rw-r--r--tracker-rs/rs_impl/bin/ia32/.gitignore2
-rw-r--r--tracker-rs/rs_impl/bin/ia32/rs-impl.libbin0 -> 12906 bytes
-rw-r--r--tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dllbin76288 -> 0 bytes
-rw-r--r--tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.libbin2882 -> 0 bytes
-rw-r--r--tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.dllbin91648 -> 0 bytes
-rw-r--r--tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.libbin2962 -> 0 bytes
-rw-r--r--tracker-rs/rs_impl/build.bat2
-rw-r--r--tracker-rs/rs_impl/build_amd64.bat4
-rw-r--r--tracker-rs/rs_impl/build_common.bat11
-rw-r--r--tracker-rs/rs_impl/build_wrapped.bat19
-rw-r--r--tracker-rs/rs_impl/build_x86.bat4
14 files changed, 37 insertions, 16 deletions
diff --git a/tracker-rs/CMakeLists.txt b/tracker-rs/CMakeLists.txt
index b624bdfc..adde1dde 100644
--- a/tracker-rs/CMakeLists.txt
+++ b/tracker-rs/CMakeLists.txt
@@ -1,12 +1,14 @@
if(WIN32)
opentrack_boilerplate(opentrack-tracker-rs)
if(opentrack-64bit)
- set(suffix _amd64)
+ set(subdir amd64)
else()
- set(suffix "")
+ set(subdir ia32)
endif()
- target_link_libraries(opentrack-tracker-rs "${CMAKE_SOURCE_DIR}/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl${suffix}.lib")
- install(FILES "${CMAKE_SOURCE_DIR}/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl${suffix}.dll" DESTINATION . ${opentrack-perms})
+ set(libpath "${CMAKE_SOURCE_DIR}/tracker-rs/rs_impl/bin/${subdir}/rs-impl.lib")
+ add_custom_target(opentrack-tracker-rs-impl DEPENDS ${libpath})
+ add_dependencies(opentrack-tracker-rs opentrack-tracker-rs-impl)
+ target_link_libraries(opentrack-tracker-rs "${libpath}" advapi32)
install(FILES "${CMAKE_SOURCE_DIR}/tracker-rs/redist/intel_rs_sdk_runtime_websetup_10.0.26.0396.exe" DESTINATION ./contrib/ ${opentrack-perms})
install(FILES "${CMAKE_SOURCE_DIR}/tracker-rs/redist/RS_EULA.rtf" DESTINATION ./contrib/ ${opentrack-perms})
endif()
diff --git a/tracker-rs/rs_impl/bin/.gitignore b/tracker-rs/rs_impl/bin/amd64/.gitignore
index e94bb21f..59314700 100644
--- a/tracker-rs/rs_impl/bin/.gitignore
+++ b/tracker-rs/rs_impl/bin/amd64/.gitignore
@@ -1 +1,2 @@
/*.exp
+/*.obj
diff --git a/tracker-rs/rs_impl/bin/amd64/rs-impl.lib b/tracker-rs/rs_impl/bin/amd64/rs-impl.lib
new file mode 100644
index 00000000..e421f5a2
--- /dev/null
+++ b/tracker-rs/rs_impl/bin/amd64/rs-impl.lib
Binary files differ
diff --git a/tracker-rs/rs_impl/bin/ia32/.gitignore b/tracker-rs/rs_impl/bin/ia32/.gitignore
new file mode 100644
index 00000000..59314700
--- /dev/null
+++ b/tracker-rs/rs_impl/bin/ia32/.gitignore
@@ -0,0 +1,2 @@
+/*.exp
+/*.obj
diff --git a/tracker-rs/rs_impl/bin/ia32/rs-impl.lib b/tracker-rs/rs_impl/bin/ia32/rs-impl.lib
new file mode 100644
index 00000000..ebb64498
--- /dev/null
+++ b/tracker-rs/rs_impl/bin/ia32/rs-impl.lib
Binary files differ
diff --git a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll b/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll
deleted file mode 100644
index 3f18f212..00000000
--- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll
+++ /dev/null
Binary files differ
diff --git a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib b/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib
deleted file mode 100644
index 7e49ed05..00000000
--- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib
+++ /dev/null
Binary files differ
diff --git a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.dll b/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.dll
deleted file mode 100644
index 69024800..00000000
--- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.dll
+++ /dev/null
Binary files differ
diff --git a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.lib b/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.lib
deleted file mode 100644
index a8c5ffba..00000000
--- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.lib
+++ /dev/null
Binary files differ
diff --git a/tracker-rs/rs_impl/build.bat b/tracker-rs/rs_impl/build.bat
index 2a87f584..612b1371 100644
--- a/tracker-rs/rs_impl/build.bat
+++ b/tracker-rs/rs_impl/build.bat
@@ -1,2 +1,2 @@
-@cmd /c %~dp0\build_wrapped.bat
+@cmd /c "%~dp0\build_wrapped.bat"
@pause \ No newline at end of file
diff --git a/tracker-rs/rs_impl/build_amd64.bat b/tracker-rs/rs_impl/build_amd64.bat
deleted file mode 100644
index f2b9acbd..00000000
--- a/tracker-rs/rs_impl/build_amd64.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-@set path=%vs_dir%;%path%
-call vcvarsall %vs_64%
-@if %errorlevel% neq 0 exit 1
-CL /nologo /Ox /DUNICODE /D_UNICODE /DEXPORT_RS_IMPL /MT /I "%RSSDK_DIR%\opensource\include" %~dp0\ftnoir_tracker_rs_impl.cpp "%RSSDK_DIR%\opensource\src\libpxc\libpxc.cpp" /link ADVAPI32.LIB /DLL /OUT:%~dp0\bin\opentrack-tracker-rs-impl_amd64.dll \ No newline at end of file
diff --git a/tracker-rs/rs_impl/build_common.bat b/tracker-rs/rs_impl/build_common.bat
new file mode 100644
index 00000000..bd83fcd0
--- /dev/null
+++ b/tracker-rs/rs_impl/build_common.bat
@@ -0,0 +1,11 @@
+@echo off
+
+cd /d .\bin\%rs_subdir%
+if %errorlevel% neq 0 exit 1
+
+echo --- %rs_subdir%
+
+call %vs_dir%\vcvarsall %vs_var% && CL /c /GS- /nologo /Ox /DUNICODE /D_UNICODE /MT /I "%RSSDK_DIR%\opensource\include" ..\..\ftnoir_tracker_rs_impl.cpp "%RSSDK_DIR%\opensource\src\libpxc\libpxc.cpp" && lib %rs_objs% /OUT:rs-impl.lib
+
+if %errorlevel% neq 0 exit 1
+exit 0
diff --git a/tracker-rs/rs_impl/build_wrapped.bat b/tracker-rs/rs_impl/build_wrapped.bat
index 2f547e95..7a67c7b8 100644
--- a/tracker-rs/rs_impl/build_wrapped.bat
+++ b/tracker-rs/rs_impl/build_wrapped.bat
@@ -1,4 +1,6 @@
-@IF DEFINED VS150COMNTOOLS (
+@echo off
+
+IF DEFINED VS150COMNTOOLS (
set vs_dir="%VS150COMNTOOLS%\..\..\VC"
set vs_64=x86_amd64
) ELSE (
@@ -6,5 +8,16 @@
set vs_64=amd64
)
-cmd /c %~dp0\build_x86.bat
-cmd /c %~dp0\build_amd64.bat \ No newline at end of file
+
+cd /d "%~dp0"
+if %errorlevel% neq 0 exit 1
+
+set rs_objs=ftnoir_tracker_rs_impl.obj libpxc.obj
+
+set rs_subdir=ia32
+set vs_var=x86
+cmd /c "call .\build_common.bat"
+
+set rs_subdir=amd64
+set vs_var=%vs_64%
+cmd /c "call .\build_common.bat"
diff --git a/tracker-rs/rs_impl/build_x86.bat b/tracker-rs/rs_impl/build_x86.bat
deleted file mode 100644
index b35b44b3..00000000
--- a/tracker-rs/rs_impl/build_x86.bat
+++ /dev/null
@@ -1,4 +0,0 @@
-@set path=%vs_dir%;%path%
-call vcvarsall x86
-@if %errorlevel% neq 0 exit 1
-CL /nologo /Ox /DUNICODE /D_UNICODE /DEXPORT_RS_IMPL /MT /I "%RSSDK_DIR%\opensource\include" %~dp0\ftnoir_tracker_rs_impl.cpp "%RSSDK_DIR%\opensource\src\libpxc\libpxc.cpp" /link ADVAPI32.LIB /DLL /OUT:%~dp0\bin\opentrack-tracker-rs-impl.dll \ No newline at end of file