Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid problems with UNC paths and rc.exe #3971

Merged
merged 1 commit into from
May 15, 2019

Conversation

radfordi
Copy link
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
Copy link
Contributor

honpong commented May 13, 2019

👍

Copy link
Contributor

@honpong honpong left a comment

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 ==========

Copy link
Contributor

@dorodnic dorodnic left a comment

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 IntelRealSense: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