]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/CMakeLists.txt
Revert "Split non-ui functions in separate lib"
[gregoa/zavai.git] / src / CMakeLists.txt
index c5c80d954a451cb4c9b088d2b61f137e44fbe2bf..657b95d057efe46d58b2b2ad6138acf9fc446ce6 100644 (file)
@@ -1,36 +1,44 @@
 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)
-
-find_program(VALAC valac)
 
-file(GLOB zavala *.vala)
-string(REGEX REPLACE "^.+/(.+)\\.vala$" "${zavai_BINARY_DIR}/\\1.c" zasrc ${zavala})
+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})
 
-add_custom_command(
-    DEPENDS ${zavala}
-    OUTPUT ${zasrc}
-    COMMAND ${VALAC} ${VFLAGS} --pkg=gtkfisheyelist --vapidir=${gtkfisheyelist_BINARY_DIR} ${zavala}
-)
-
-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR})
+set(VALA_PACKAGES ${packages} posix linux-input dbus-extra gtkfisheyelist)
+set(VFLAGS --vapidir=${zavai_SOURCE_DIR} --vapidir=${gtkfisheyelist_BINARY_DIR})
+add_definitions(-Wall)
 # -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)
-
-set_source_files_properties(${zasrc} PROPERTIES GENERATED 1)
-set_source_files_properties(${zahdr} PROPERTIES GENERATED 1)
 
-add_executable(zavai ${zasrc})
+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 libvala [a-y]*.vala widgets/*.vala)
+add_vala_library(libzavai ${libvala})
+add_library(libzavai STATIC ${libzavai_CSOURCES})
+
+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})
+set(VFLAGS ${VFLAGS} --vapidir=${zavai_BINARY_DIR})
+set(VALA_PACKAGES ${VALA_PACKAGES} libzavai)
+link_libraries(gtkfisheyelist-static libzavai)
+
+file(GLOB zavala zavai.vala)
+add_vala_program(zavai ${zavala})
+add_executable(zavai ${zavai_CSOURCES})
+
+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)