Skip to content

(cmake): conan update and compilation flag sharing

What does this MR do?

  • Update ogre to patched version 1.12.2

  • Match shader input/ouput attribute names in vertex/geometry/fragment shaders.

  • Fix varying parsing for the volume proxy bricks shaders.

  • Replace the deprecated scene node iterator.

  • Remove the debug plugin configuration on windows.

  • Explicitly convert quaternions to matrices.

  • Fix normal rendering.

  • Add Visula studio 2019 support with conan package available on artifactory. All conan packages have been updated

  • Share "optimized" debug compiler flags across all conan package and Sight. Some previous work on array API (and in many place in our code or our dependencies) showed very bad performance in debug. To mitigate this, we want to use optimized debug build with -Og -g (unix) or /Ox /Oy- /Ob1 /Z7 /MDd (windows) which will effectively make the speed almost reach release build, while being "debuggable".

    The drawbacks are:

    • the build will take a bit longer (max 20% longer)
    • some lines may be "optimized" out
    • we loose /RTC1 on windows

    To allow "full" debugging on Sight, we plan to add a special option to use regular flags.

A new option THOROUGH_DEBUG has been added to allow full debugging without optimization, if needed. On windows it also add /sdl /RTC1 which performs additional security checks.

Also be sure to have the latest version of conan and that you use the latest settings.yml on Windows or macOS (sometimes there is a settings.yml.new and you need to rename it settings.yml). On Linux, Sight automatically download an updated settings.yml, but you can still update conan.

To update conan: pip3 install --upgrade conan

How to test it?

On macOS:

  • install XCode 11.0
  • build and launch at least VRRender, OgreViewer, all unit tests....

On LinuxMint19:

  • install gcc8
  • build and launch at least VRRender, OgreViewer, all unit tests....

On Windows

  • install VisualStudio 2017 or VisualStudio 2019 (to have better support of c++17)
  • build and launch at least VRRender, OgreViewer, all unit tests....

Try to set breakpoints and perform step by step debug

Additional tests to run

(If you need some specific test e.g Windows compilation...)

  • Build on Windows
  • Build on macOS
  • Build on Linux

Associated Issues/Merge Requests

Edited by Maxime GUININ

Merge request reports