(build): generate sight component list
Description
CMake components in SIGHT_COMPONENTS variable are now ordered according to dependency graph. It will ease the burden to manually maintain the list.
Closes #733 (closed)
How to test it?
Build and install Sight. Use the installed Sight to build a child project like Night.