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)