--- /dev/null
+project(gtkfisheyelist)
+
+include(FindPkgConfig)
+
+set(gtkfisheyelist_version 0.1)
+set(VFLAGS -C --pkg gtk+-2.0)
+
+pkg_check_modules(GTK REQUIRED gtk+-2.0)
+
+find_program(VALAC valac)
+
+file(GLOB fevala *.vala)
+string(REGEX REPLACE "^.+/(.+)\\.vala$" "${gtkfisheyelist_BINARY_DIR}/\\1.c" fesrc ${fevala})
+string(REGEX REPLACE "^.+/(.+)\\.vala$" "${gtkfisheyelist_BINARY_DIR}/\\1.h" fehdr ${fevala})
+
+add_custom_command(
+ DEPENDS ${fevala}
+ OUTPUT ${fesrc} ${fehdr}
+ COMMAND ${VALAC} ${VFLAGS} ${fevala}
+)
+
+add_definitions(-Wall -Werror ${GTK_CFLAGS})
+link_libraries(${GTK_LDFLAGS})
+
+set_source_files_properties(${fesrc} PROPERTIES GENERATED 1)
+set_source_files_properties(${fehdr} PROPERTIES GENERATED 1)
+
+add_library(gtkfisheyelist SHARED ${fesrc})
+add_library(gtkfisheyelist-static STATIC ${fesrc})
+set_target_properties(gtkfisheyelist PROPERTIES VERSION ${gtkfisheyelist_version} SOVERSION 0 CLEAN_DIRECT_OUTPUT 1)
+set_target_properties(gtkfisheyelist-static PROPERTIES VERSION ${gtkfisheyelist_version} SOVERSION 0 OUTPUT_NAME "gtkfisheyelist" CLEAN_DIRECT_OUTPUT 1)
+
+set(prefix "${CMAKE_INSTALL_PREFIX}")
+set(exec_prefix "${prefix}/bin")
+set(libdir "${prefix}/lib")
+set(includedir "${prefix}/include")
+configure_file(${gtkfisheyelist_SOURCE_DIR}/libgtkfisheyelist.pc.in ${gtkfisheyelist_BINARY_DIR}/libgtkfisheyelist.pc @ONLY)
+
+install(TARGETS gtkfisheyelist gtkfisheyelist-static
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+
+install(FILES ${fehdr} DESTINATION include/gtkfisheyelist)
+
+install(FILES ${gtkfisheyelist_BINARY_DIR}/libgtkfisheyelist.pc DESTINATION lib/pkgconfig)
+