1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12)
6 PROJECT(universal-switch CXX)
8 FIND_PACKAGE(PkgConfig REQUIRED)
11 option(TESTS "enable/disable universal switch tests" ON)
12 option(DOCS "Build documentation" OFF)
14 pkg_check_modules(pkgs REQUIRED
16 capi-appfw-service-application
17 capi-appfw-application
19 capi-media-sound-manager
34 # TODO remove cairo dependency, when there will be available screenshot service.
36 SET(COMMON_FLAGS "-fdiagnostics-color=always -fPIC")
37 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_FLAGS}")
38 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COMMON_FLAGS} -std=c++14")
40 # install desktop file & icon
41 SET(RES_DIR "${CMAKE_INSTALL_PREFIX}/res")
42 SET(ICONS_DIR "${RES_DIR}/icons")
43 SET(LOCALE_DIR "${RES_DIR}/locale")
44 SET(SOUNDS_DIR "${RES_DIR}/sounds/")
46 ADD_DEFINITIONS("-DICONS_DIR=\"${ICONS_DIR}\"")
47 ADD_DEFINITIONS("-DLOCALE_DIR=\"${LOCALE_DIR}\"")
48 ADD_DEFINITIONS("-DSOUNDS_DIR=\"${SOUNDS_DIR}\"")
49 ADD_DEFINITIONS("-DPROJECT_NAME=\"${PROJECT_NAME}\"")
50 ADD_DEFINITIONS("-DUNIVERSAL_SWITCH_EDJ=\"${RES_DIR}/${PROJECT_NAME}.edj\"")
52 ADD_DEFINITIONS("-DDEBUG_PRINTING_LEVEL=DEBUG_PRINTING_LEVEL_DEBUG")
55 ADD_SUBDIRECTORY(res/po)
56 ADD_SUBDIRECTORY(res/sounds)
58 ADD_SUBDIRECTORY(tests)
61 ADD_CUSTOM_TARGET(${PROJECT_NAME}.edj
62 COMMAND edje_cc -no-save res/${PROJECT_NAME}.edc ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.edj
63 DEPENDS res/${PROJECT_NAME}.edc
65 ADD_DEPENDENCIES(${PROJECT_NAME} ${PROJECT_NAME}.edj)
67 # Install Manifest File
68 INSTALL(DIRECTORY res/icons/ DESTINATION ${ICONS_DIR} FILES_MATCHING PATTERN "*.png")
69 INSTALL(FILES org.tizen.universal-switch.xml DESTINATION ${TZ_SYS_RO_PACKAGES})
70 INSTALL(FILES ${PROJECT_NAME}.edj DESTINATION ${RES_DIR})
71 INSTALL(PROGRAMS utils/setVconfKeys.sh DESTINATION scripts/)
77 # check if Doxygen is installed
79 # set input and output files
80 set(DOXYGEN_IN docs/Doxyfile.in)
81 set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
82 set(DOXYGEN_DIR ${CMAKE_BINARY_DIR}/doc_doxygen/)
83 set(DOXYGEN_SRC ${CMAKE_SOURCE_DIR}/src/)
85 configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY)
86 message("Doxygen build started")
87 add_custom_target(doc_doxygen ALL
88 COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT}
89 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
90 COMMENT "Generating API documentation with Doxygen"
92 INSTALL(DIRECTORY ${DOXYGEN_DIR} DESTINATION docs)
94 message("Doxygen need to be installed to generate the doxygen documentation")