I had to move the inclusion of Common.cmake one level lower to propagate the EXTERNAL_LIBRARY_DIR in time for find_package(Components REQUIRED). Since we are working under assumption that ALL external libs are in one place we should not impose third party developers to edit Components_DIR manually but rather let cmake configuration do the job. This approach also gets rid of erroneous messages that a developer does not need to be aware at a time of initial build (speaking of Components_DIR_NOTFOUND errors) and thus simplifies his/hers overall experience.
...lpful for third party dev)
I had to move the inclusion of Common.cmake one level lower to propagate the EXTERNAL_LIBRARY_DIR in time for find_package(Components REQUIRED). Since we are working under assumption that ALL external libs are in one place we should not impose third party developers to edit Components_DIR manually but rather let cmake configuration do the job. This approach also gets rid of erroneous messages that a developer does not need to be aware at a time of initial build (speaking of Components_DIR_NOTFOUND errors) and thus simplifies his/hers overall experience.