Modernisation of CMake Configuration
This is based on !922 (closed) with the addition of fixes and including latest changes in master.
Edited by Marco Clemencic
This is based on !922 (closed) with the addition of fixes and including latest changes in master.