]> ToastFreeware Gitweb - gregoa/zavai.git/blobdiff - src/CMakeLists.txt
All builds with cmake
[gregoa/zavai.git] / src / CMakeLists.txt
index c5c80d954a451cb4c9b088d2b61f137e44fbe2bf..441ad8aeb062e7ecd667bf1326e045b245957ed3 100644 (file)
@@ -1,36 +1,32 @@
 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)
+set(packages gtk+-2.0 gee-1.0 dbus-glib-1>=0.80 libwnck-1.0>=2.26.0 devkit-power-gobject>=010 libomhacks)
+add_packages(ZAVAI ${packages})
 
-file(GLOB zavala *.vala)
-string(REGEX REPLACE "^.+/(.+)\\.vala$" "${zavai_BINARY_DIR}/\\1.c" zasrc ${zavala})
+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_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(libzavai ${libvala})
+add_library(libzavai STATIC ${libzavai_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})
+set(VFLAGS ${VFLAGS} --vapidir=${zavai_BINARY_DIR})
+set(VALA_PACKAGES ${VALA_PACKAGES} libzavai)
+link_libraries(gtkfisheyelist-static libzavai)
 
-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)