update CMakeLists.txt to work as an external

Signed-off-by: Joshua Rubin <jrubin@zvelo.com>
install some headers

Signed-off-by: Joshua Rubin <jrubin@zvelo.com>
fix a linux build warning

Signed-off-by: Joshua Rubin <jrubin@zvelo.com>
add missing includes

Signed-off-by: Joshua Rubin <jrubin@zvelo.com>