(patch-coverage.pl) Outputs covered and total lines as well
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-internal / CMakeLists.txt
1 SET(PKG_NAME "dali-toolkit-internal")
2
3 SET(EXEC_NAME "tct-${PKG_NAME}-core")
4 SET(RPM_NAME "core-${PKG_NAME}-tests")
5
6 SET(CAPI_LIB "dali-toolkit-internal")
7
8 # List of test case sources (Only these get parsed for test cases)
9 SET(TC_SOURCES
10  utc-Dali-AddOns.cpp
11  utc-Dali-BidirectionalSupport.cpp
12  utc-Dali-ColorConversion.cpp
13  utc-Dali-Control-internal.cpp
14  utc-Dali-DebugRendering.cpp
15  utc-Dali-FeedbackStyle.cpp
16  utc-Dali-ItemView-internal.cpp
17  utc-Dali-LogicalModel.cpp
18  utc-Dali-PropertyHelper.cpp
19  utc-Dali-Text-CharacterSetConversion.cpp
20  utc-Dali-Text-Circular.cpp
21  utc-Dali-Text-Controller.cpp
22  utc-Dali-Text-Cursor.cpp
23  utc-Dali-Text-Layout.cpp
24  utc-Dali-Text-Markup.cpp
25  utc-Dali-Text-MultiLanguage.cpp
26  utc-Dali-Text-Segmentation.cpp
27  utc-Dali-Text-Shaping.cpp
28  utc-Dali-Text-Typesetter.cpp
29  utc-Dali-Text-ViewModel.cpp
30  utc-Dali-TextField-internal.cpp
31  utc-Dali-TextEditor-internal.cpp
32  utc-Dali-TextSelectionPopup-internal.cpp
33  utc-Dali-TextureManager.cpp
34  utc-Dali-Visuals-internal.cpp
35  utc-Dali-VisualModel.cpp
36  utc-Dali-VisualUrl.cpp
37 )
38
39 IF(ELDBUS_AVAILABLE)
40   LIST(APPEND TC_SOURCES
41     utc-Dali-Accessibility-Accessible.cpp
42     utc-Dali-Accessibility-Controls.cpp
43     utc-Dali-Accessibility-Controls-BridgeUp.cpp
44     utc-Dali-Accessibility-Text.cpp
45     utc-Dali-Accessibility-Value.cpp
46     )
47 ENDIF()
48
49 # List of test harness files (Won't get parsed for test cases)
50 SET(TEST_HARNESS_SOURCES
51    ../dali-toolkit/dali-toolkit-test-utils/toolkit-adaptor.cpp
52    ../dali-toolkit/dali-toolkit-test-utils/toolkit-application.cpp
53    ../dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard.cpp
54    ../dali-toolkit/dali-toolkit-test-utils/toolkit-clipboard-event-notifier.cpp
55    ../dali-toolkit/dali-toolkit-test-utils/toolkit-event-thread-callback.cpp
56    ../dali-toolkit/dali-toolkit-test-utils/toolkit-environment-variable.cpp
57    ../dali-toolkit/dali-toolkit-test-utils/toolkit-feedback-player.cpp
58    ../dali-toolkit/dali-toolkit-test-utils/toolkit-input-method-context.cpp
59    ../dali-toolkit/dali-toolkit-test-utils/toolkit-input-method-options.cpp
60    ../dali-toolkit/dali-toolkit-test-utils/toolkit-lifecycle-controller.cpp
61    ../dali-toolkit/dali-toolkit-test-utils/toolkit-orientation.cpp
62    ../dali-toolkit/dali-toolkit-test-utils/toolkit-physical-keyboard.cpp
63    ../dali-toolkit/dali-toolkit-test-utils/toolkit-style-monitor.cpp
64    ../dali-toolkit/dali-toolkit-test-utils/toolkit-test-application.cpp
65    ../dali-toolkit/dali-toolkit-test-utils/toolkit-timer.cpp
66    ../dali-toolkit/dali-toolkit-test-utils/toolkit-tts-player.cpp
67    ../dali-toolkit/dali-toolkit-test-utils/toolkit-vector-animation-renderer.cpp
68    ../dali-toolkit/dali-toolkit-test-utils/toolkit-vector-image-renderer.cpp
69    ../dali-toolkit/dali-toolkit-test-utils/toolkit-window.cpp
70    ../dali-toolkit/dali-toolkit-test-utils/toolkit-scene-holder.cpp
71    ../dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.cpp
72    ../dali-toolkit/dali-toolkit-test-utils/dali-toolkit-test-suite-utils.cpp
73    ../dali-toolkit/dali-toolkit-test-utils/dummy-control.cpp
74    ../dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp
75    ../dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp
76    ../dali-toolkit/dali-toolkit-test-utils/test-animation-data.cpp
77    ../dali-toolkit/dali-toolkit-test-utils/test-application.cpp
78    ../dali-toolkit/dali-toolkit-test-utils/test-button.cpp
79    ../dali-toolkit/dali-toolkit-test-utils/test-harness.cpp
80    ../dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp
81    ../dali-toolkit/dali-toolkit-test-utils/test-gl-sync-abstraction.cpp
82    ../dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
83    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
84    ../dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
85    ../dali-toolkit/dali-toolkit-test-utils/test-native-image.cpp
86    dali-toolkit-test-utils/toolkit-text-utils.cpp
87    dali-toolkit-test-utils/dummy-visual.cpp
88    dali-toolkit-test-utils/test-addon-manager.cpp
89 )
90
91 IF(ELDBUS_AVAILABLE)
92   LIST(APPEND TEST_HARNESS_SOURCES
93    dali-toolkit-test-utils/accessibility-test-utils.cpp
94    dali-toolkit-test-utils/dbus-wrapper.cpp
95     )
96 ENDIF()
97
98
99 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
100     dali2-core
101     dali2-adaptor
102     dali2-toolkit
103     eldbus
104     ecore-input
105     eina
106 )
107
108 MESSAGE("Libraries to link with:>${${CAPI_LIB}_LIBRARIES}")
109
110 ADD_COMPILE_OPTIONS( -O0 -ggdb --coverage -Wall -Werror -DDEBUG_ENABLED -fPIC )
111 ADD_COMPILE_OPTIONS( ${${CAPI_LIB}_CFLAGS_OTHER} )
112
113 ADD_DEFINITIONS(-DTEST_RESOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/../../resources\" )
114 ADD_DEFINITIONS(-DDALI_ADDONS_PATH=\"${CMAKE_CURRENT_BINARY_DIR}\")
115
116 IF(ELDBUS_AVAILABLE)
117   ADD_COMPILE_OPTIONS(-Wno-error=attributes)
118   ADD_DEFINITIONS(-DELDBUS_ENABLED)
119 ENDIF()
120
121 FOREACH(directory ${${CAPI_LIB}_LIBRARY_DIRS})
122     SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${directory}")
123 ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
124
125 STRING(STRIP ${CMAKE_CXX_LINK_FLAGS} CMAKE_CXX_LINK_FLAGS)
126
127 INCLUDE_DIRECTORIES(
128   ../../../
129   ${${CAPI_LIB}_INCLUDE_DIRS}
130   ../dali-toolkit/dali-toolkit-test-utils
131   dali-toolkit-test-utils
132 )
133
134 ADD_CUSTOM_COMMAND(
135   COMMAND ../../scripts/tcheadgen.sh ${EXEC_NAME}.h ${TC_SOURCES}
136   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
137   OUTPUT  ${EXEC_NAME}.h
138   COMMENT "Generating test tables"
139   )
140
141 # Add explicit dependency on auto-generated header.
142 ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.h ${EXEC_NAME}.cpp ${TC_SOURCES} ${TEST_HARNESS_SOURCES})
143 TARGET_LINK_LIBRARIES(${EXEC_NAME}
144     ${${CAPI_LIB}_LIBRARIES}
145     -lpthread --coverage -ldl -rdynamic
146 )
147
148 INSTALL(PROGRAMS ${EXEC_NAME}
149     DESTINATION ${BIN_DIR}/${EXEC_NAME}
150 )
151
152 # build addons
153 MESSAGE( STATUS "BINDIR: ${CMAKE_CURRENT_BINARY_DIR}")
154
155 FILE( GLOB FILES ${CMAKE_CURRENT_SOURCE_DIR}/addons/*.cmake )
156
157 FOREACH( INFILE IN ITEMS ${FILES} )
158
159     INCLUDE( ${INFILE} )
160     MESSAGE( STATUS "Building ${INFILE}" )
161
162     ADD_LIBRARY( ${ADDON_NAME} SHARED ${ADDON_SOURCES} )
163
164     TARGET_INCLUDE_DIRECTORIES( ${ADDON_NAME} PUBLIC
165             ../../../
166             ${${CAPI_LIB}_INCLUDE_DIRS}
167             ../dali-toolkit/dali-toolkit-test-utils
168             dali-toolkit-test-utils)
169
170     TARGET_LINK_LIBRARIES(${ADDON_NAME}
171             ${CMAKE_CXX_LINK_FLAGS}
172             ${${CAPI_LIB}_LIBRARIES}
173             -lpthread -ldl --coverage
174             )
175
176     INSTALL( TARGETS ${ADDON_NAME} DESTINATION ${BIN_DIR} )
177
178     SET( ADDON_LIST "lib${ADDON_NAME}.so
179 ${ADDON_LIST}")
180 ENDFOREACH()
181
182 # store AddOns list
183 FILE( WRITE ${CMAKE_CURRENT_BINARY_DIR}/addons.txt "${ADDON_LIST}" )