update gitignore
revamp cmake configs
fix up new CMake configs
headers with modern inline function prototypes