diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2016-07-07 15:44:20 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2016-07-07 15:44:20 +0200 |
commit | f98dcfc2360302753f9a8bf66ee8ccfe4366f0e7 (patch) | |
tree | a068abf3a21781f0a6450fc0fabdc606c1a4ddfb /tracker-rs | |
parent | 5f5ca66c58ad30d0c218b2da904aa3f722e18ebe (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.txt | 10 | ||||
-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.lib | bin | 0 -> 19184 bytes | |||
-rw-r--r-- | tracker-rs/rs_impl/bin/ia32/.gitignore | 2 | ||||
-rw-r--r-- | tracker-rs/rs_impl/bin/ia32/rs-impl.lib | bin | 0 -> 12906 bytes | |||
-rw-r--r-- | tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll | bin | 76288 -> 0 bytes | |||
-rw-r--r-- | tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib | bin | 2882 -> 0 bytes | |||
-rw-r--r-- | tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.dll | bin | 91648 -> 0 bytes | |||
-rw-r--r-- | tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.lib | bin | 2962 -> 0 bytes | |||
-rw-r--r-- | tracker-rs/rs_impl/build.bat | 2 | ||||
-rw-r--r-- | tracker-rs/rs_impl/build_amd64.bat | 4 | ||||
-rw-r--r-- | tracker-rs/rs_impl/build_common.bat | 11 | ||||
-rw-r--r-- | tracker-rs/rs_impl/build_wrapped.bat | 19 | ||||
-rw-r--r-- | tracker-rs/rs_impl/build_x86.bat | 4 |
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 Binary files differnew file mode 100644 index 00000000..e421f5a2 --- /dev/null +++ b/tracker-rs/rs_impl/bin/amd64/rs-impl.lib 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 Binary files differnew file mode 100644 index 00000000..ebb64498 --- /dev/null +++ b/tracker-rs/rs_impl/bin/ia32/rs-impl.lib diff --git a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll b/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll Binary files differdeleted file mode 100644 index 3f18f212..00000000 --- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.dll +++ /dev/null diff --git a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib b/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib Binary files differdeleted file mode 100644 index 7e49ed05..00000000 --- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl.lib +++ /dev/null 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 Binary files differdeleted file mode 100644 index 69024800..00000000 --- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.dll +++ /dev/null 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 Binary files differdeleted file mode 100644 index a8c5ffba..00000000 --- a/tracker-rs/rs_impl/bin/opentrack-tracker-rs-impl_amd64.lib +++ /dev/null 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 |