Skip to content

Avoid problems with UNC paths and rc.exe - #3971

Merged
dorodnic merged 1 commit into
realsenseai:developmentfrom
radfordi:single-rc
May 15, 2019
Merged

Avoid problems with UNC paths and rc.exe#3971
dorodnic merged 1 commit into
realsenseai:developmentfrom
radfordi:single-rc

Conversation

@radfordi

Copy link
Copy Markdown
Contributor

This change builds a single firmware RC file, which means we only compile RC files in the build directory, which means we only require relative paths, which in turn means we don't run into issues with rc.exe thinking UNC paths are options. This also has the nice side effect of removing the duplicated list of binaries from fw.rc.

@honpong

honpong commented May 13, 2019

Copy link
Copy Markdown
Contributor

👍

@honpong honpong left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested build this PR and works for UNC path.

1>------ Build started: Project: ZERO_CHECK, Configuration: Debug x64 ------
1>Checking Build System
1>CMake does not need to re-run because C:/temp/build/test-jim/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/third-party/realsense-file/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/wrappers/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/third-party/glfw/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/third-party/glfw/src/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/hello-realsense/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/software-device/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/capture/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/callback/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/save-to-disk/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/multicam/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/pointcloud/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/align/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/align-advanced/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/sensor-control/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/measure/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/C/depth/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/C/color/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/C/distance/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/post-processing/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/record-playback/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/motion/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/pose/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/pose-predict/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/pose-and-image/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/trajectory/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/examples/ar-basic/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/terminal/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/fw-logger/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/enumerate-devices/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/realsense-viewer/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/data-collect/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/depth-quality/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/rosbag-inspector/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/tools/convert/CMakeFiles/generate.stamp is up-to-date.
1>CMake does not need to re-run because C:/temp/build/test-jim/third-party/libtm/CMakeFiles/generate.stamp is up-to-date.
1>CMake is re-running because C:/temp/build/test-jim/third-party/libtm/fw/CMakeFiles/generate.stamp dependency file is missing.
1>-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.16299.
1>-- Info: REALSENSE_VERSION_STRING=2.21.0
1>-- Setting Windows configurations
1>-- Build for Windows > Win7
1>-- Checking internet connection...
1>-- Internet connection identified, enabling BUILD_WITH_TM2
1>-- libusb not found; using internal version (missing: LIBUSB_LIB LIBUSB_INC)
1>-- GLFW 3.3 not found; using internal version
1>-- Could NOT find Vulkan (missing: VULKAN_LIBRARY VULKAN_INCLUDE_DIR)
1>-- Using Win32 for window creation
1>-- Building with TM2
1>-- Download TM2 firmware 0;"No error" for target-0.0.18.5502.mvcmd
1>-- Download TM2 firmware 0;"No error" for central_app-2.0.19.271.bin
1>-- Download TM2 firmware 0;"No error" for central_bl-1.0.1.112.bin
1>-- Configuring done
1>-- Generating done
1>-- Build files have been written to: C:/temp/build/test-jim
2>------ Build started: Project: libusb (ExternalProjectTargets\libusb\libusb), Configuration: Debug x64 ------
3>------ Build started: Project: fw, Configuration: Debug x64 ------
2>Performing update step for 'libusb'
3>Building Custom Rule //mac/Home/Desktop/VMDownload/PerC/Github/shapefit/src/thirdparty/librealsense/librealsense/third-party/libtm/fw/CMakeLists.txt
3>CMake does not need to re-run because C:/temp/build/test-jim/third-party/libtm/fw/CMakeFiles/generate.stamp is up-to-date.
3>empty.c
3>fw_target.c
3>fw_central_app.c
3>fw_central_bl.c
3>fw.vcxproj -> C:\temp\build\test-jim\third-party\libtm\fw\Debug\fw.lib
3>Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
3>
3>Copyright (C) Microsoft Corporation.  All rights reserved.
3>
3>
4>------ Build started: Project: tm, Configuration: Debug x64 ------
4>Device.cpp
4>Manager.cpp
4>\\mac\Home\Desktop\VMDownload\PerC\Github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\infra\Dispatcher.h(138): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file \\mac\Home\Desktop\VMDownload\PerC\Github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\Manager.cpp)
4>\\mac\home\desktop\vmdownload\perc\github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\infra\Dispatcher.h(138): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file \\mac\Home\Desktop\VMDownload\PerC\Github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\Device.cpp)
4>\\mac\home\desktop\vmdownload\perc\github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\UsbPlugListener.h(48): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file \\mac\Home\Desktop\VMDownload\PerC\Github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\Device.cpp)
4>\\mac\home\desktop\vmdownload\perc\github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\UsbPlugListener.h(48): warning C4800: 'int': forcing value to bool 'true' or 'false' (performance warning) (compiling source file \\mac\Home\Desktop\VMDownload\PerC\Github\shapefit\src\thirdparty\librealsense\librealsense\third-party\libtm\libtm\src\Manager.cpp)
4>tm.vcxproj -> C:\temp\build\test-jim\third-party\libtm\libtm\src\Debug\tm.lib
4>Done building project "tm.vcxproj".
5>------ Build started: Project: realsense2, Configuration: Debug x64 ------
5>realsense2.vcxproj -> C:\temp\build\test-jim\Debug\realsense2.dll
5>realsense2.vcxproj -> C:/temp/build/test-jim/Debug/realsense2.pdb (Full PDB)
========== Build: 5 succeeded, 0 failed, 33 up-to-date, 0 skipped ==========

@dorodnic dorodnic left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great!

@dorodnic
dorodnic merged commit b99bc59 into realsenseai:development May 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants