[dali_2.3.20] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-shader-generator / CMakeLists.txt
1 SET(PKG_NAME "dali-shader-generator")
2
3 SET(EXEC_NAME "tct-${PKG_NAME}-core")
4 SET(EXEC_NAME "tct-${PKG_NAME}-core")
5
6 SET(CAPI_LIB "dali-shader-generator")
7
8 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
9   dali2-core
10   dali2-adaptor
11   dali2-toolkit
12 )
13
14 SET(TC_SOURCES
15   utc-Dali-ShaderGenerator.cpp
16 )
17
18 # List of test harness files (Won't get parsed for test cases)
19 SET(TEST_HARNESS_DIR "../dali-toolkit/dali-toolkit-test-utils")
20
21 SET(TEST_HARNESS_SOURCES
22   ${TEST_HARNESS_DIR}/toolkit-adaptor.cpp
23   ${TEST_HARNESS_DIR}/toolkit-application.cpp
24   ${TEST_HARNESS_DIR}/toolkit-async-task-manager.cpp
25   ${TEST_HARNESS_DIR}/toolkit-event-thread-callback.cpp
26   ${TEST_HARNESS_DIR}/toolkit-environment-variable.cpp
27   ${TEST_HARNESS_DIR}/toolkit-input-method-context.cpp
28   ${TEST_HARNESS_DIR}/toolkit-input-method-options.cpp
29   ${TEST_HARNESS_DIR}/toolkit-lifecycle-controller.cpp
30   ${TEST_HARNESS_DIR}/toolkit-orientation.cpp
31   ${TEST_HARNESS_DIR}/toolkit-style-monitor.cpp
32   ${TEST_HARNESS_DIR}/toolkit-test-application.cpp
33   ${TEST_HARNESS_DIR}/toolkit-timer.cpp
34   ${TEST_HARNESS_DIR}/toolkit-trigger-event-factory.cpp
35   ${TEST_HARNESS_DIR}/toolkit-window.cpp
36   ${TEST_HARNESS_DIR}/toolkit-scene-holder.cpp
37   ${TEST_HARNESS_DIR}/dali-test-suite-utils.cpp
38   ${TEST_HARNESS_DIR}/dali-toolkit-test-suite-utils.cpp
39   ${TEST_HARNESS_DIR}/dummy-control.cpp
40   ${TEST_HARNESS_DIR}/mesh-builder.cpp
41   ${TEST_HARNESS_DIR}/test-actor-utils.cpp
42   ${TEST_HARNESS_DIR}/test-animation-data.cpp
43   ${TEST_HARNESS_DIR}/test-application.cpp
44   ${TEST_HARNESS_DIR}/test-button.cpp
45   ${TEST_HARNESS_DIR}/test-harness.cpp
46   ${TEST_HARNESS_DIR}/test-gesture-generator.cpp
47   ${TEST_HARNESS_DIR}/test-gl-abstraction.cpp
48   ${TEST_HARNESS_DIR}/test-graphics-sync-impl.cpp
49   ${TEST_HARNESS_DIR}/test-graphics-sync-object.cpp
50   ${TEST_HARNESS_DIR}/test-graphics-buffer.cpp
51   ${TEST_HARNESS_DIR}/test-graphics-command-buffer.cpp
52   ${TEST_HARNESS_DIR}/test-graphics-controller.cpp
53   ${TEST_HARNESS_DIR}/test-graphics-framebuffer.cpp
54   ${TEST_HARNESS_DIR}/test-graphics-texture.cpp
55   ${TEST_HARNESS_DIR}/test-graphics-sampler.cpp
56   ${TEST_HARNESS_DIR}/test-graphics-program.cpp
57   ${TEST_HARNESS_DIR}/test-graphics-pipeline.cpp
58   ${TEST_HARNESS_DIR}/test-graphics-shader.cpp
59   ${TEST_HARNESS_DIR}/test-graphics-reflection.cpp
60   ${TEST_HARNESS_DIR}/test-platform-abstraction.cpp
61   ${TEST_HARNESS_DIR}/test-render-controller.cpp
62   ${TEST_HARNESS_DIR}/test-trace-call-stack.cpp
63 )
64
65 ADD_DEFINITIONS(-DTEST_RESOURCE_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/../../resources\" )
66
67 FOREACH(directory ${${CAPI_LIB}_LIBRARY_DIRS})
68     SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${directory}")
69 ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
70
71 INCLUDE_DIRECTORIES(
72   ../../../
73   ${${CAPI_LIB}_INCLUDE_DIRS}
74   ../dali-toolkit/dali-toolkit-test-utils
75 )
76
77 ADD_COMPILE_OPTIONS( -O0 -ggdb --coverage -Wall -Werror -DDEBUG_ENABLED)
78 ADD_COMPILE_OPTIONS( ${${CAPI_LIB}_CFLAGS_OTHER} )
79
80 ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.h ${EXEC_NAME}.cpp ${TC_SOURCES} ${TEST_HARNESS_SOURCES})
81
82 TARGET_LINK_LIBRARIES(${EXEC_NAME}
83   ${${CAPI_LIB}_LIBRARIES}
84   -lpthread --coverage
85 )
86
87 ADD_CUSTOM_COMMAND(
88   COMMAND ${SCRIPT_DIR}/tcheadgen.sh ${EXEC_NAME}.h ${TC_SOURCES}
89   WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
90   OUTPUT ${EXEC_NAME}.h
91   COMMENT "Generating test tables"
92 )
93
94 INSTALL(PROGRAMS ${EXEC_NAME}
95   DESTINATION ${BIN_DIR}/${EXEC_NAME}
96 )
97
98 SET(SHADER_GENERATOR dali-shader-generator)
99 SET(GENERATED_FOLDER ${CMAKE_CURRENT_BINARY_DIR}/shader/generated)
100 SET(SHADER_FOLDER ${CMAKE_CURRENT_SOURCE_DIR}/shader)
101
102 # All the shader generator execution tests are below
103
104 ADD_CUSTOM_TARGET(test_help ALL COMMAND ${SHADER_GENERATOR} -h | grep "DALi Shader Generator" > /dev/null 2>&1 && echo "test_help Succeeded" VERBATIM)
105 ADD_CUSTOM_TARGET(test_no_params ALL COMMAND ${SHADER_GENERATOR} > /dev/null 2>&1 || echo "test_no_params Succeeded" VERBATIM)
106 ADD_CUSTOM_TARGET(test_version ALL COMMAND ${SHADER_GENERATOR} -v | wc -l | grep 1 > /dev/null 2>&1 && echo "test_version Succeeded" VERBATIM)
107 ADD_CUSTOM_TARGET(test_invalid_option ALL COMMAND ${SHADER_GENERATOR} --undeclared > /dev/null 2>&1 || echo "test_invalid_option Succeeded" VERBATIM)
108 ADD_CUSTOM_TARGET(test_too_many_params ALL COMMAND ${SHADER_GENERATOR} ONE TWO THREE > /dev/null 2>&1 || echo "test_too_many_params Succeeded" VERBATIM)
109 ADD_CUSTOM_TARGET(test_invalid_indir ALL COMMAND ${SHADER_GENERATOR} ONE TWO > /dev/null 2>&1 || echo "test_invalid_indir Succeeded" VERBATIM)
110 ADD_CUSTOM_TARGET(
111   test_check_built_in_created
112   ALL
113   COMMAND ${SHADER_GENERATOR} . ${GENERATED_FOLDER} | grep builtin-shader | wc -l | grep 2 > /dev/null 2>&1 && echo "test_check_built_in_created Succeeded"
114   VERBATIM)
115 ADD_CUSTOM_TARGET(
116   test_check_built_in_not_created
117   ALL
118   COMMAND ${SHADER_GENERATOR} --skip . ${GENERATED_FOLDER} | grep builtin-shader > /dev/null 2>&1 || echo "test_check_built_in_not_created Succeeded"
119   VERBATIM)
120 ADD_CUSTOM_TARGET(
121   test_frag_correct
122   ALL
123   COMMAND ${SHADER_GENERATOR} ${SHADER_FOLDER} ${GENERATED_FOLDER} | grep "SHADER_FRAGMENT_SHADER_FRAG" | grep "fragment-shader-frag.h" > /dev/null 2>&1 && echo "test_frag_correct Succeeded"
124   VERBATIM)
125 ADD_CUSTOM_TARGET(
126   test_vert_correct
127   ALL
128   COMMAND ${SHADER_GENERATOR} ${SHADER_FOLDER} ${GENERATED_FOLDER} | grep "SHADER_VERTEX_SHADER_VERT" | grep "vertex-shader-vert.h" > /dev/null 2>&1 && echo "test_vert_correct Succeeded"
129   VERBATIM)
130 ADD_CUSTOM_TARGET(
131   test_def_correct
132   ALL
133   COMMAND ${SHADER_GENERATOR} ${SHADER_FOLDER} ${GENERATED_FOLDER} | grep "SHADER_SHADER_DEFINE_DEF" | grep "shader-define-def.h" > /dev/null 2>&1 && echo "test_def_correct Succeeded"
134   VERBATIM)