project(zavai)
-
-include(FindPkgConfig)
+include(../vala.cmake)
set(zavai_version 0.1)
-set(VFLAGS -C --pkg gee-1.0 --pkg dbus-glib-1 --pkg gtk+-2.0 --pkg posix --pkg libwnck-1.0 --vapidir=${zavai_SOURCE_DIR} --pkg linux-input --pkg dbus-extra --pkg devkit-power-gobject --pkg omhacks)
-pkg_check_modules(GTK REQUIRED gtk+-2.0)
-pkg_check_modules(GEE REQUIRED gee-1.0)
-pkg_check_modules(DBUS REQUIRED dbus-glib-1>=0.80)
-pkg_check_modules(WNCK REQUIRED libwnck-1.0>=2.26.0)
-pkg_check_modules(DEVKITPOWER REQUIRED devkit-power-gobject>=010)
-pkg_check_modules(OMHACKS REQUIRED libomhacks)
+set(packages gtk+-2.0 dbus-glib-1>=0.80 libwnck-1.0>=2.26.0 lua5.1 libomhacks x11 gdk-x11-2.0 libgps gstreamer-0.10)
+add_packages(ZAVAI ${packages})
+
+set(VALA_PACKAGES ${packages} posix linux-input dbus-extra gtkfisheyelist libzavai)
+set(VFLAGS --vapidir=${zavai_SOURCE_DIR} --vapidir=${gtkfisheyelist_BINARY_DIR})
+add_definitions(-Wall)
+# -Werror
-find_program(VALAC valac)
+pkg_check_modules(DKP devkit-power-gobject>=010)
+if (DKP_VERSION)
+ message("-- Using devkit-power-gobject version ${DKP_VERSION}")
+ set(VFLAGS ${VFLAGS} --define=USE_DKP)
+ set(VALA_PACKAGES ${VALA_PACKAGES} devkit-power-gobject)
+ add_definitions(-DUSE_DKP ${DKP_CFLAGS})
+ link_libraries(${DKP_LDFLAGS})
+else()
+ message("-- Not using devkit-power-gobject")
+endif ()
-file(GLOB zavala *.vala)
-string(REGEX REPLACE "^.+/(.+)\\.vala$" "${zavai_BINARY_DIR}/\\1.c" zasrc ${zavala})
+set(VFLAGS ${VFLAGS} --vapidir=${zavai_BINARY_DIR} --vapidir=${libzavai_SOURCE_DIR} --vapidir=${libzavai_BINARY_DIR})
-add_custom_command(
- DEPENDS ${zavala}
- OUTPUT ${zasrc}
- COMMAND ${VALAC} ${VFLAGS} --pkg=gtkfisheyelist --vapidir=${gtkfisheyelist_BINARY_DIR} ${zavala}
-)
+file(GLOB libvala [a-y]*.vala widgets/*.vala)
+add_vala_library(libzavaiui ${libvala})
+add_library(libzavaiui STATIC ${libzavaiui_CSOURCES})
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
-# -Werror
-add_definitions(-Wall ${GTK_CFLAGS} ${GEE_CFLAGS} ${DBUS_CFLAGS} ${WNCK_CFLAGS} ${DEVKITPOWER_CFLAGS} ${OMHACKS_CFLAGS} -I${gtkfisheyelist_BINARY_DIR})
-link_libraries(wibble ${GTK_LDFLAGS} ${GEE_LDFLAGS} ${DBUS_LDFLAGS} ${WNCK_LDFLAGS} ${DEVKITPOWER_LDFLAGS} ${OMHACKS_LDFLAGS} gtkfisheyelist-static)
+add_definitions(-DWNCK_I_KNOW_THIS_IS_UNSTABLE -DI_KNOW_THE_DEVICEKIT_POWER_API_IS_SUBJECT_TO_CHANGE -I${gtkfisheyelist_BINARY_DIR} -I${zavai_BINARY_DIR} -I${libzavai_BINARY_DIR})
+set(VALA_PACKAGES ${VALA_PACKAGES} libzavai libzavaiui)
+link_libraries(gtkfisheyelist-static libzavai libzavaiui)
-set_source_files_properties(${zasrc} PROPERTIES GENERATED 1)
-set_source_files_properties(${zahdr} PROPERTIES GENERATED 1)
+file(GLOB zavala zavai.vala)
+add_vala_program(zavai ${zavala})
+add_executable(zavai ${zavai_CSOURCES})
-add_executable(zavai ${zasrc})
+file(GLOB zacvala zavai-calendar.vala)
+add_vala_program(zavai-calendar ${zacvala})
+add_executable(zavai-calendar ${zavai-calendar_CSOURCES})
install(TARGETS zavai RUNTIME DESTINATION bin)
+install(TARGETS zavai-calendar RUNTIME DESTINATION bin)
+install(FILES sat-monitor DESTINATION bin)