The source project of this merge request has been removed.
Cmake modern project usage
Make the auto setting of variables more robust for corner case uses.
Provide better variable setting behavior for both single and multi configuration build environments.