Brought in CMake macro and function to enable organized components