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})
+file(GLOB fevala gtkfisheye*.vala)
+file(RELATIVE_PATH fesrc ${gtkfisheyelist_SOURCE_DIR} ${fevala})
+string(REGEX REPLACE "\\.vala$" ".c" fesrc ${fesrc})
+
+file(GLOB demovala demo*.vala)
+file(RELATIVE_PATH demosrc ${gtkfisheyelist_SOURCE_DIR} ${demovala})
+string(REGEX REPLACE "\\.vala$" ".c" demosrc ${demosrc})
add_custom_command(
DEPENDS ${fevala}
- OUTPUT ${fesrc} ${fehdr}
- COMMAND ${VALAC} ${VFLAGS} ${fevala}
+ OUTPUT ${fesrc} gtkfisheyelist.h gtkfisheyelist.vapi
+ COMMAND ${VALAC} ${VFLAGS} -H gtkfisheyelist.h --library=gtkfisheyelist ${fevala}
)
-add_definitions(-Wall -Werror ${GTK_CFLAGS})
+add_custom_command(
+ DEPENDS ${demovala}
+ OUTPUT ${demosrc} ${demohdr}
+ COMMAND ${VALAC} ${VFLAGS} --pkg=gtkfisheyelist --vapidir=${gtkfisheyelist_BINARY_DIR} ${demovala}
+)
+
+add_definitions(-Wall -Werror ${GTK_CFLAGS} -I${gtkfisheyelist_BINARY_DIR})
link_libraries(${GTK_LDFLAGS})
set_source_files_properties(${fesrc} PROPERTIES GENERATED 1)
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)
+add_executable(gtkfisheyedemo ${demosrc})
+target_link_libraries(gtkfisheyedemo gtkfisheyelist-static)
+
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "${prefix}/bin")
set(libdir "${prefix}/lib")