cmake cleanup, external module name change
- Update CMake to allow non-Make generators to fully build project
- modernize CMake to use target properties rather than throwing everything in CMAKE_BINARY_DIR
- cleanup Meson
- rename external module to constants for better example usage