16 |
16 |
17 cmake_minimum_required(VERSION 2.6) |
17 cmake_minimum_required(VERSION 2.6) |
18 project(pep C) |
18 project(pep C) |
19 set(PROJECT_VERSION "0.0.3") |
19 set(PROJECT_VERSION "0.0.3") |
20 |
20 |
|
21 set(HANDLER_LIST mood tune geoloc activity) |
|
22 set(MODULE_LIST pep) |
|
23 foreach(HANDLER IN LISTS HANDLER_LIST) |
|
24 list(APPEND MODULE_LIST ${HANDLER} pep_${HANDLER}) |
|
25 endforeach(HANDLER) |
|
26 |
21 ## User settable options |
27 ## User settable options |
22 |
28 option(DEBUG "Enable debugging symbols" OFF) |
|
29 foreach(HANDLER IN LISTS HANDLER_LIST) |
|
30 string(TOUPPER ${HANDLER} UPHANDLER) |
|
31 set(HOOK_${UPHANDLER}_IN "${HANDLER}-in" CACHE TEXT "${HANDLER} incoming event hook name") |
|
32 set(HOOK_${UPHANDLER}_OUT "${HANDLER}-out" CACHE TEXT "${HANDLER} outgoing event hook name") |
|
33 endforeach(HANDLER) |
|
34 set(OPT_TUNE_PAUSE_IS_STOP "pep_tune_pause_is_stop" CACHE TEXT "Tune pause is stop option name") |
|
35 set(OPT_TUNE_INTERVAL "pep_tune_interval" CACHE TEXT "Tune intevral option name") |
|
36 set(OPT_GEOLOC_INTERVAL "pep_geoloc_interval" CACHE TEXT "Geoloc interval option name") |
|
37 |
|
38 set(PEP_DESCRIPTION "Common listener for PEP events") |
|
39 set(PEP_MOOD_DESCRIPTION "PEP mood event handler") |
|
40 set(PEP_TUNE_DESCRIPTION "PEP tune event handler\\n Options: ${OPT_TUNE_INTERVAL}, ${OPT_TUNE_PAUSE_IS_STOP}") |
|
41 set(PEP_GEOLOC_DESCRIPTION "PEP geoloc event handler\\n Options: ${OPT_GEOLOC_INTERVAL}") |
|
42 set(PEP_ACTIVITY_DESCRIPTION "PEP activity event handler") |
|
43 set(MOOD_DESCRIPTION "Mood event handler (ui)\\n Command: /mood") |
|
44 set(TUNE_DESCRIPTION "Tune event handler (ui)\\n Command: /tune") |
|
45 set(GEOLOC_DESCRIPTION "Geolocation event handler (ui)\\n Command: /geoloc") |
|
46 set(ACTIVITY_DESCRIPTION "User activity event handler (ui)\\n Command: /activity") |
|
47 |
|
48 foreach(AVMODULE IN LISTS MODULE_LIST) |
|
49 string(TOUPPER ${AVMODULE} AVMODULE) |
|
50 execute_PROCESS(COMMAND echo -n "${${AVMODULE}_DESCRIPTION}" COMMAND sed -e "s/\\\\n/\\n\\t/g" OUTPUT_VARIABLE ${AVMODULE}_DESCRIPTION_AVV) |
|
51 endforeach(AVMODULE) |
|
52 |
23 ## Check for build dependencies |
53 ## Check for build dependencies |
24 find_package(PkgConfig REQUIRED) |
54 find_package(PkgConfig REQUIRED) |
25 pkg_check_modules(GLIB REQUIRED glib-2.0) |
55 pkg_check_modules(GLIB REQUIRED glib-2.0) |
26 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
56 pkg_check_modules(LM REQUIRED loudmouth-1.0) |
27 pkg_check_modules(MCABBER REQUIRED mcabber) |
57 pkg_check_modules(MCABBER REQUIRED mcabber) |
33 link_directories(${GLIB_LIBRARY_DIRS} |
63 link_directories(${GLIB_LIBRARY_DIRS} |
34 ${LM_LIBRARY_DIRS} |
64 ${LM_LIBRARY_DIRS} |
35 ${MCABBER_LIBRARY_DIRS}) |
65 ${MCABBER_LIBRARY_DIRS}) |
36 |
66 |
37 ## Target definitions |
67 ## Target definitions |
38 add_library(pep MODULE pep.c pep.h) |
68 add_library(pep MODULE pep.c pep.h) |
39 add_library(mood MODULE mood.c mood.h) |
69 foreach(HANDLER IN LISTS HANDLER_LIST) |
40 add_library(pep_mood MODULE pep_mood.c mood.h pep.h) |
70 add_library(${HANDLER} MODULE ${HANDLER}.c pep_${HANDLER}.h) |
41 add_library(tune MODULE tune.c tune.h) |
71 add_library(pep_${HANDLER} MODULE pep_${HANDLER}.c pep_${HANDLER}.h pep.h) |
42 add_library(pep_tune MODULE pep_tune.c tune.h pep.h) |
72 endforeach(HANDLER) |
43 add_library(geoloc MODULE geoloc.c geoloc.h) |
|
44 add_library(pep_geoloc MODULE pep_geoloc.c geoloc.h pep.h) |
|
45 add_library(activity MODULE activity.c activity.h) |
|
46 add_library(pep_activity MODULE pep_activity.c activity.h pep.h) |
|
47 |
73 |
48 ## Compiler setup |
74 ## Compiler setup |
49 if(DEBUG) |
75 if(DEBUG) |
50 set(DEBUG_COMPILE_FLAGS "-g") |
76 set(DEBUG_COMPILE_FLAGS "-g") |
51 endif() |
77 endif() |
52 configure_file(config.h.in config.h) |
78 configure_file(config.h.in config.h) |
53 include_directories(SYSTEM ${GLIB_INCLUDE_DIRS} |
79 foreach(HANDLER IN LISTS HANDLER_LIST) |
54 ${LM_INCLUDE_DIRS} |
80 configure_file(pep_${HANDLER}.h.in pep_${HANDLER}.h) |
55 ${MCABBER_INCLUDE_DIRS}) |
81 endforeach(HANDLER) |
56 target_link_libraries(pep ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
82 include_directories(SYSTEM ${GLIB_INCLUDE_DIRS} ${LM_INCLUDE_DIRS} ${MCABBER_INCLUDE_DIRS}) |
57 target_link_libraries(mood ${GLIB_LIBRARIES} ${MCABBER_LIBRARIES}) |
83 target_link_libraries(pep ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
58 target_link_libraries(pep_mood ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
84 foreach(HANDLER IN LISTS HANDLER_LIST) |
59 target_link_libraries(tune ${GLIB_LIBRARIES} ${MCABBER_LIBRARIES}) |
85 target_link_libraries(${HANDLER} ${GLIB_LIBRARIES} ${MCABBER_LIBRARIES}) |
60 target_link_libraries(pep_tune ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
86 target_link_libraries(pep_${HANDLER} ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
61 target_link_libraries(geoloc ${GLIB_LIBRARIES} ${MCABBER_LIBRARIES}) |
87 endforeach(HANDLER) |
62 target_link_libraries(pep_geoloc ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
88 include_directories(${pep_SOURCE_DIR} ${pep_BINARY_DIR}) |
63 target_link_libraries(activity ${GLIB_LIBRARIES} ${MCABBER_LIBRARIES}) |
89 foreach(AVMODULE IN LISTS MODULE_LIST) |
64 target_link_libraries(pep_activity ${GLIB_LIBRARIES} ${LM_LIBRARIES} ${MCABBER_LIBRARIES}) |
90 set_target_properties(${AVMODULE} PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
65 include_directories(${pep_SOURCE_DIR} |
91 endforeach(AVMODULE) |
66 ${pep_BINARY_DIR}) |
|
67 set_target_properties(pep PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
68 set_target_properties(mood PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
69 set_target_properties(pep_mood PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
70 set_target_properties(tune PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
71 set_target_properties(pep_tune PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
72 set_target_properties(geoloc PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
73 set_target_properties(pep_geoloc PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
74 set_target_properties(activity PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
75 set_target_properties(pep_activity PROPERTIES COMPILE_FLAGS "-Wall ${DEBUG_COMPILE_FLAGS}") |
|
76 |
92 |
77 ## Packaging information |
93 ## Packaging information |
78 set(CPACK_PACKAGE_NAME libmcabber-pep) |
94 set(CPACK_PACKAGE_NAME libmcabber-pep) |
79 set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) |
95 set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION}) |
80 set(CPACK_PACKAGE_VENDOR "IsBear") |
96 set(CPACK_PACKAGE_VENDOR "IsBear") |
92 endif() |
108 endif() |
93 set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}") |
109 set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}") |
94 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
110 set(CPACK_SOURCE_IGNORE_FILES "/\\\\..*;\\\\.swp;~$;/build/;\\\\.tar\\\\.;\\\\.deb;\\\\.so") |
95 include(CPack) |
111 include(CPack) |
96 |
112 |
97 configure_file(avv/pep.in avv/pep) |
113 foreach(AVMODULE IN LISTS MODULE_LIST) |
98 configure_file(avv/mood.in avv/mood) |
114 configure_file(avv/${AVMODULE}.in avv/${AVMODULE}) |
99 configure_file(avv/pep_mood.in avv/pep_mood) |
115 endforeach(AVMODULE) |
100 configure_file(avv/tune.in avv/tune) |
116 |
101 configure_file(avv/pep_tune.in avv/pep_tune) |
117 configure_file(pep.rc.in pep.rc @ONLY) |
102 configure_file(avv/geoloc.in avv/geoloc) |
|
103 configure_file(avv/pep_geoloc.in avv/pep_geoloc) |
|
104 configure_file(avv/activity.in avv/activity) |
|
105 configure_file(avv/pep_activity.in avv/pep_activity) |
|
106 |
118 |
107 ## Installation |
119 ## Installation |
108 install(TARGETS pep mood pep_mood tune pep_tune geoloc pep_geoloc activity pep_activity DESTINATION lib/mcabber) |
120 install(TARGETS ${MODULE_LIST} DESTINATION lib/mcabber) |
109 install(FILES pep.rc COPYING TODO README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
121 install(FILES ${PROJECT_BINARY_DIR}/pep.rc COPYING TODO README DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
110 install(DIRECTORY doc/ DESTINATION share/doc/${CPACK_PACKAGE_NAME}) |
122 install(DIRECTORY doc/ DESTINATION share/doc/${CPACK_PACKAGE_NAME} PATTERN "*~" EXCLUDE) |
111 install(FILES pep.h mood.h tune.h geoloc.h activity.h DESTINATION include/mcabber) |
123 install(FILES pep.h |
112 install(DIRECTORY help DESTINATION share/mcabber) |
124 ${PROJECT_BINARY_DIR}/pep_mood.h |
113 install(DIRECTORY ${PROJECT_BINARY_DIR}/avv/ DESTINATION share/mcabber/avv/modules) |
125 ${PROJECT_BINARY_DIR}/pep_tune.h |
|
126 ${PROJECT_BINARY_DIR}/pep_geoloc.h |
|
127 ${PROJECT_BINARY_DIR}/pep_activity.h DESTINATION include/mcabber) |
|
128 install(DIRECTORY help DESTINATION share/mcabber PATTERN "*~" EXCLUDE) |
|
129 install(DIRECTORY ${PROJECT_BINARY_DIR}/avv/ DESTINATION share/mcabber/avv/modules PATTERN "*~" EXCLUDE) |
114 |
130 |
115 ## The End ## vim: se ts=4: ## |
131 ## The End ## vim: se ts=4: ## |