Conan refactoring, visual studio 2019 support and debug compilation flag sharing
Description
Several work has been identified that involve a full conan packages rebuild:
-
Visula studio 2019 support: although the conanfiles has been already updated, we must add the VS 2019 target and relaunch the CI to make the conan package available on artifactory
-
Since we will modify all
gitlab-ci.yml
, a bit of refactoring and factorization will help future modifications. Most thegitlab-ci.yml
content can be shared and thus will greatly ease maintenance. -
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.
The conan MR and related branches has been created by magic script:
-
1. common stable/1.0.0 -> testing/1.0.1 -> stable/1.0.1 -
flags -
gitlab-ci -
gcc 8
-
-
2. cares stable/1.15.0-r1 -> testing/1.15.0-r2 -> stable/1.15.0-r2 -
flags -
gitlab-ci -
gcc 8
-
-
3. ippe stable/1.2-r1 -> testing/1.2-r2 -> stable/1.2-r2 -
flags -
gitlab-ci -
gcc 8
-
-
4. openssl stable/1.1.1b-r1 -> testing/1.1.1b-r2 -> stable/1.1.1b-r2 -
flags -
gitlab-ci -
gcc 8
-
-
5. live555 stable/1.21.0-r2 -> testing/1.21.0-r3 -> stable/1.21.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
6. tensorflow stable/2.0.0-beta1 -> testing/2.0.0-beta1-r1 -> stable/2.0.0-beta1-r1 -
flags -
gitlab-ci -
gcc 8
-
-
7. trakstar stable/1.0-r2 -> testing/1.0-r3 -> stable/1.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
8. libsgm stable/1.0.0-r3 -> testing/1.0.0-r4 -> stable/1.0.0-r4 -
flags -
gitlab-ci -
gcc 8
-
-
9. ffmpeg stable/4.1-r5 -> testing/4.1-r6 -> stable/4.1-r6 -
flags -
gitlab-ci -
gcc 8
-
-
10. vlc stable/3.0.6-r2 -> testing/3.0.6-r3 -> stable/3.0.6-r3 -
flags -
gitlab-ci -
gcc 8
-
-
11. tetgen stable/1.5.0-r2 -> testing/1.5.0-r3 -> stable/1.5.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
12. icu stable/51.2-r2 -> testing/51.2-r3 -> stable/51.2-r3 -
flags -
gitlab-ci -
gcc 8
-
-
14. jsoncpp stable/1.7.1-r2 -> testing/1.7.1-r3 -> stable/1.7.1-r3 -
flags -
gitlab-ci -
gcc 8
-
-
15. bullet stable/2.88-r1 -> testing/2.88-r2 -> stable/2.88-r2 -
flags -
gitlab-ci -
gcc 8
-
-
16. cryptopp stable/8.1.0-r1 -> testing/8.1.0-r2 -> stable/8.1.0-r2 -
flags -
gitlab-ci -
gcc 8
-
-
17. flann stable/1.9.1-r3 -> testing/1.9.1-r4 -> stable/1.9.1-r4 -
flags -
gitlab-ci -
gcc 8
-
-
18. openni stable/2.2.0-r3 -> testing/2.2.0-r4 -> stable/2.2.0-r4 -
flags -
gitlab-ci -
gcc 8
-
-
19. cxsparse stable/3.1.1-r2 -> testing/3.1.1-r3 -> stable/3.1.1-r3 -
flags -
gitlab-ci -
gcc 8
-
-
20. glog stable/0.4.0-r1 -> testing/0.4.0-r2 -> stable/0.4.0-r2 -
flags -
gitlab-ci -
gcc 8
-
-
21. openigtlink stable/2.1-r3 -> testing/2.1-r4 -> stable/2.1-r4 -
flags -
gitlab-ci -
gcc 8
-
-
22. librealsense stable/2.23.0 -> testing/2.23.0-r1 -> stable/2.23.0-r1 -
flags -
gitlab-ci -
gcc 8
-
-
23. eigen stable/3.3.7-r1 -> testing/3.3.7-r2 -> stable/3.3.7-r2 -
flags -
gitlab-ci -
gcc 8
-
-
24. glew stable/2.0.0-r2 -> testing/2.0.0-r3 -> stable/2.0.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
25. expat stable/2.2.5-r2 -> testing/2.2.5-r3 -> stable/2.2.5-r3 -
flags -
gitlab-ci -
gcc 8
-
-
26. cppunit stable/1.14.0-r2 -> testing/1.14.0-r3 -> stable/1.14.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
27. glm stable/0.9.9.4-r1 -> testing/0.9.9.4-r2 -> stable/0.9.9.4-r2 -
flags -
gitlab-ci -
gcc 8
-
-
28. libjpeg stable/9c-r2 -> testing/9c-r3 -> stable/9c-r3 -
flags -
gitlab-ci -
gcc 8
-
-
29. winiconv stable/0.0.8-r2 -> testing/0.0.8-r3 -> stable/0.0.8-r3 -
flags -
gitlab-ci -
gcc 8
-
-
30. zlib stable/1.2.11-r2 -> testing/1.2.11-r3 -> stable/1.2.11-r3 -
flags -
gitlab-ci -
gcc 8
-
-
31. boost stable/1.69.0-r2 -> testing/1.69.0-r3 -> stable/1.69.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
32. websocketpp stable/0.8.1-r1 -> testing/0.8.1-r2 -> stable/0.8.1-r2 -
flags -
gitlab-ci -
gcc 8
-
-
33. cpprestsdk stable/2.10.13-r1 -> testing/2.10.13-r2 -> stable/2.10.13-r2 -
flags -
gitlab-ci -
gcc 8
-
-
34. hybrid_marker_tracker stable/1.1-r1 -> testing/1.1-r2 -> stable/1.1-r2 -
flags -
gitlab-ci -
gcc 8
-
-
35. protobuf stable/3.7.1-r2 -> testing/3.7.1-r3 -> stable/3.7.1-r3 -
flags -
gitlab-ci -
gcc 8
-
-
36. libfreenect stable/0.5.7-r2 -> testing/0.5.7-r3 -> stable/0.5.7-r3 -
flags -
gitlab-ci -
gcc 8
-
-
37. ceres stable/1.14.0-r2 -> testing/1.14.0-r3 -> stable/1.14.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
38. zzip stable/0.13.69-r2 -> testing/0.13.69-r3 -> stable/0.13.69-r3 -
flags -
gitlab-ci -
gcc 8
-
-
39. freetype stable/2.9.1-r2 -> testing/2.9.1-r3 -> stable/2.9.1-r3 -
flags -
gitlab-ci -
gcc 8
-
-
40. camp stable/0.8.3 -> testing/0.8.3-r1 -> stable/0.8.3-r1 -
flags -
gitlab-ci -
gcc 8
-
-
41. libpng stable/1.6.34-r2 -> testing/1.6.34-r3 -> stable/1.6.34-r3 -
flags -
gitlab-ci -
gcc 8
-
-
42. libtiff stable/4.0.9-r2 -> testing/4.0.9-r3 -> stable/4.0.9-r3 -
flags -
gitlab-ci -
gcc 8
-
-
43. libxml2 stable/2.9.8-r2 -> testing/2.9.8-r3 -> stable/2.9.8-r3 -
flags -
gitlab-ci -
gcc 8
-
-
44. grpc stable/1.20.1-r2 -> testing/1.20.1-r3 -> stable/1.20.1-r3 -
flags -
gitlab-ci -
gcc 8
-
-
45. dicom-rtv-converter stable/1.0.4-r1 -> testing/1.0.4-r2 -> stable/1.0.4-r2 -
flags -
gitlab-ci -
gcc 8
-
-
46. qt stable/5.12.4 -> testing/5.12.4-r1 -> stable/5.12.4-r1 -
flags -
gitlab-ci -
gcc 8
-
-
47. sofa stable/19.06.01 -> testing/19.06.01-r1 -> stable/19.06.01-r1 -
flags -
gitlab-ci -
gcc 8
-
-
48. opencv stable/3.4.6 -> testing/3.4.6-r1 -> stable/3.4.6-r1 -
flags -
gitlab-ci -
gcc 8
-
-
50. orbslam2 stable/0.5.1-r5 -> testing/0.5.1-r6 -> stable/0.5.1-r6 -
flags -
gitlab-ci -
gcc 8
-
-
51. vtk stable/8.2.0-r2 -> testing/8.2.0-r3 -> stable/8.2.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
52. gdcm stable/2.8.9-r2 -> testing/3.0.2 -> stable/3.0.2 -
flags -
gitlab-ci -
gcc 8
-
-
53. (conan-ogre): update ogre to version 1.12.2 -
flags -
gitlab-ci -
gcc 8
-
-
54. libarchive stable/3.1.2-r2 -> testing/3.1.2-r3 -> stable/3.1.2-r3 -
flags -
gitlab-ci -
gcc 8
-
-
55. dcmtk stable/3.6.4-r1 -> testing/3.6.4-r2 -> stable/3.6.4-r2 -
flags -
gitlab-ci -
gcc 8
-
-
56. aruco stable/3.0.12-r3 -> testing/3.0.12-r4 -> stable/3.0.12-r4 -
flags -
gitlab-ci -
gcc 8
-
-
57. pcl stable/1.9.1-r3 -> testing/1.9.1-r4 -> stable/1.9.1-r4 -
flags -
gitlab-ci -
gcc 8
-
-
58. mregistration stable/1.1.2-r2 -> testing/1.1.2-r3 -> stable/1.1.2-r3 -
flags -
gitlab-ci -
gcc 8
-
-
59. itk stable/5.0.1 -> testing/5.0.1-r1 -> stable/5.0.1-r1 -
flags -
gitlab-ci -
gcc 8
-
-
60. odil stable/0.10.0-r2 -> testing/0.10.0-r3 -> stable/0.10.0-r3 -
flags -
gitlab-ci -
gcc 8
-
-
61. libusb stable/1.0.22-r1 -> testing/1.0.22-r2 -> stable/1.0.22-r2 -
flags -
gitlab-ci -
gcc 8
-
-
62. bazel stable/0.24.1 -> testing/0.24.1-r1 -> stable/0.24.1-r1 -
flags -
gitlab-ci -
gcc 8
-
-
63. cudnn stable/7.6.1 -> testing/7.6.1-r1 -> stable/7.6.1-r1 -
flags -
gitlab-ci -
gcc 8
-
-
64. nccl stable/2.4.7 -> testing/2.4.7-r1 -> stable/2.4.7-r1 -
flags -
gitlab-ci -
gcc 8
-
-
65. blackmagic stable/10.11.4-r1 -> testing/10.11.4-r2 -> stable/10.11.4-r2 -
flags -
gitlab-ci -
gcc 8
-
-
66. jom stable/1.1.2-r1 -> testing/1.1.3 -> stable/1.1.3 -
flags -
gitlab-ci -
gcc 8
-
-
67. dicom-rtv-libs stable/1.4.2 -> testing/1.4.2-r1 -> stable/1.4.2-r1 -
flags -
gitlab-ci -
gcc 8
-
-
68. python testing/3.7.4 -> stable/3.7.4 -
flags -
gitlab-ci -
gcc 8
-
-
69. pybind11 testing/3.7.4 -> stable/3.7.4 -
flags -
gitlab-ci -
gcc 8
-