add basic cmake install system
diff --git a/kms++/CMakeLists.txt b/kms++/CMakeLists.txt
index d983964..51ccc65 100644
--- a/kms++/CMakeLists.txt
+++ b/kms++/CMakeLists.txt
@@ -1,8 +1,9 @@
 include_directories(${LIBDRM_INCLUDE_DIRS})
 link_directories(${LIBDRM_LIBRARY_DIRS})
 
-file(GLOB SRCS "src/*.cpp" "src/*.h" "inc/kms++/*.h")
-add_library(kms++ ${SRCS})
+file(GLOB SRCS "src/*.cpp" "src/*.h")
+file(GLOB PUB_HDRS "inc/kms++/*.h")
+add_library(kms++ ${SRCS} ${PUB_HDRS})
 
 target_include_directories(kms++ PUBLIC
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
@@ -10,3 +11,11 @@
     PRIVATE src)
 
 target_link_libraries(kms++ ${LIBDRM_LIBRARIES})
+
+set_target_properties(kms++ PROPERTIES
+    PUBLIC_HEADER "${PUB_HDRS}")
+
+install(TARGETS kms++
+    LIBRARY DESTINATION lib
+    ARCHIVE DESTINATION lib
+    PUBLIC_HEADER DESTINATION include/kms++)
diff --git a/kms++util/CMakeLists.txt b/kms++util/CMakeLists.txt
index 3977f70..2fc15e3 100644
--- a/kms++util/CMakeLists.txt
+++ b/kms++util/CMakeLists.txt
@@ -1,5 +1,6 @@
-file(GLOB SRCS "src/*.cpp" "src/*.h" "inc/kms++util/*.h")
-add_library(kms++util ${SRCS})
+file(GLOB SRCS "src/*.cpp" "src/*.h")
+file(GLOB PUB_HDRS "inc/kms++util/*.h")
+add_library(kms++util ${SRCS} ${PUB_HDRS})
 
 target_include_directories(kms++util PUBLIC
     $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc>
@@ -7,3 +8,11 @@
     PRIVATE src)
 
 target_link_libraries(kms++util kms++ pthread)
+
+set_target_properties(kms++util PROPERTIES
+    PUBLIC_HEADER "${PUB_HDRS}")
+
+install(TARGETS kms++util
+    LIBRARY DESTINATION lib
+    ARCHIVE DESTINATION lib
+    PUBLIC_HEADER DESTINATION include/kms++util)
diff --git a/py/CMakeLists.txt b/py/CMakeLists.txt
index 1349ea5..0cb4b99 100644
--- a/py/CMakeLists.txt
+++ b/py/CMakeLists.txt
@@ -23,3 +23,6 @@
 set_property(TEST pytest PROPERTY
         ENVIRONMENT "PYTHONPATH=." "LD_LIBRARY_PATH=."
 )
+
+# XXX Where should pykms.so be installed?
+#install(TARGETS pykms DESTINATION lib)
diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
index dd95f70..0b15481 100644
--- a/utils/CMakeLists.txt
+++ b/utils/CMakeLists.txt
@@ -24,3 +24,6 @@
 
 add_executable (wbm2m wbm2m.cpp)
 target_link_libraries(wbm2m kms++ kms++util ${LIBDRM_LIBRARIES})
+
+install(TARGETS testpat kmsprint fbtestpat
+    DESTINATION bin)