dfbe07fd306f8262a0f549d2e017a6966900c4b7
[platform/core/uifw/dali-toolkit.git] / automated-tests / src / dali-toolkit-third-party / CMakeLists.txt
1 SET(PKG_NAME "dali-toolkit-third-party")
2
3 SET(EXEC_NAME "tct-${PKG_NAME}-core")
4 SET(RPM_NAME "core-${PKG_NAME}-tests")
5
6 SET(CAPI_LIB "dali-toolkit-third-party")
7
8 # List of test case sources (Only these get parsed for test cases)
9 SET(TC_SOURCES
10  utc-Dali-Flexbox-Layout.cpp
11 )
12
13 # Append list of test harness files (Won't get parsed for test cases)
14 LIST(APPEND TC_SOURCES
15    ../dali-toolkit/dali-toolkit-test-utils/dali-test-suite-utils.cpp
16    ../dali-toolkit/dali-toolkit-test-utils/mesh-builder.cpp
17    ../dali-toolkit/dali-toolkit-test-utils/test-actor-utils.cpp
18    ../dali-toolkit/dali-toolkit-test-utils/test-animation-data.cpp
19    ../dali-toolkit/dali-toolkit-test-utils/test-application.cpp
20    ../dali-toolkit/dali-toolkit-test-utils/test-button.cpp
21    ../dali-toolkit/dali-toolkit-test-utils/test-harness.cpp
22    ../dali-toolkit/dali-toolkit-test-utils/test-gl-abstraction.cpp
23    ../dali-toolkit/dali-toolkit-test-utils/test-gl-sync-abstraction.cpp
24    ../dali-toolkit/dali-toolkit-test-utils/test-platform-abstraction.cpp
25    ../dali-toolkit/dali-toolkit-test-utils/test-render-controller.cpp
26    ../dali-toolkit/dali-toolkit-test-utils/test-render-surface.cpp
27    ../dali-toolkit/dali-toolkit-test-utils/test-trace-call-stack.cpp
28    ../dali-toolkit/dali-toolkit-test-utils/test-native-image.cpp
29 )
30
31
32 PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
33     dali-core
34     dali-adaptor
35     dali-toolkit
36 )
37
38 # Locate GTest
39 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
40 FIND_PACKAGE(GTest REQUIRED)
41
42 #ADD_COMPILE_OPTIONS( -O0 -ggdb --coverage -Wall -Werror )
43 # ADD_COMPILE_OPTIONS( ${${CAPI_LIB}_CFLAGS_OTHER} )
44 # This works for a homogenous C++ project, but not for mixed C++/C project
45 # On CMake >= 3.3, could use
46 # ADD_COMPILE_OPTIONS( "$<$<COMPILE_LANGUAGE:CXX>:${${CAPI_LIB}_CFLAGS_OTHER}>" )
47 # However, we need to support CMake 2.8, so instead, fall back to setting the CXX_FLAGS directly:
48 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -ggdb --coverage -Wall -Werror" )
49 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${${CAPI_LIB}_CFLAGS_OTHER}" )
50
51 FOREACH(directory ${${CAPI_LIB}_LIBRARY_DIRS})
52     SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${directory}")
53 ENDFOREACH(directory ${CAPI_LIB_LIBRARY_DIRS})
54
55 INCLUDE_DIRECTORIES(
56     ../../../
57     ../../../dali-toolkit/third-party
58     ${${CAPI_LIB}_INCLUDE_DIRS}
59     ../dali-toolkit/dali-toolkit-test-utils
60     ${GTEST_INCLUDE_DIRS}
61 )
62
63 ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.cpp ${TC_SOURCES})
64 TARGET_LINK_LIBRARIES(${EXEC_NAME}
65     ${${CAPI_LIB}_LIBRARIES}
66     -lpthread --coverage
67     ${GTEST_LIBRARIES}
68 )
69
70 INSTALL(PROGRAMS ${EXEC_NAME}
71     DESTINATION ${BIN_DIR}/${EXEC_NAME}
72 )