[Release] wrt-plugins-common_0.3.92
[platform/framework/web/wrt-plugins-common.git] / tests / CMakeUtils.txt
1 # @file        CMakeUtils.txt
2 # @author      Zbigniew Kostrzewa (z.kostrzewa@samsung.com)
3 # @author      Pawel Sikorski (p.sikorski@samsung.com)
4 # @author      Krzysztof Jackiewicz (k.jackiewicz@samsung.com)
5 # @version     1.0
6 # @brief
7 #
8
9 #
10 # Replacement functions for standard (w/o "WRT_" prefix) CMake functions.
11 # They store supplied arguments in global properties to assign them to tests.
12 FUNCTION(WRT_INCLUDE_DIRECTORIES)
13   SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_INCLUDE_DIRS ${ARGV})
14 ENDFUNCTION(WRT_INCLUDE_DIRECTORIES)
15
16 FUNCTION(WRT_LINK_DIRECTORIES)
17   SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARY_DIRS ${ARGV})
18 ENDFUNCTION(WRT_LINK_DIRECTORIES)
19
20 FUNCTION(WRT_TARGET_LINK_LIBRARIES)
21   SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARIES ${ARGV})
22 ENDFUNCTION(WRT_TARGET_LINK_LIBRARIES)
23
24 FUNCTION(WRT_TEST_LIBRARY)
25   SET_PROPERTY(GLOBAL APPEND PROPERTY COMMON_TESTS_LIBRARY ${ARGV})
26 ENDFUNCTION(WRT_TEST_LIBRARY)
27
28 # Functions used to build test targets (proper sources, includes, libs are
29 # added automatically)
30 FUNCTION(WRT_TEST_BUILD TARGET_NAME)
31     SET(SOURCES "${ARGN}")
32     ADD_EXECUTABLE("${TARGET_NAME}"
33         ${SOURCES}
34     )
35     # get include dirs global property
36     GET_PROPERTY(INCLUDE_DIRS GLOBAL PROPERTY TESTS_INCLUDE_DIRS)
37     INCLUDE_DIRECTORIES(
38         ${INCLUDE_DIRS}
39     )
40     # get library dirs global property
41     GET_PROPERTY(LIBRARY_DIRS GLOBAL PROPERTY TESTS_LIBRARY_DIRS)
42     LINK_DIRECTORIES(
43         ${LIBRARY_DIRS}
44     )
45     # get link libraries global property
46     GET_PROPERTY(LINK_LIBRARIES GLOBAL PROPERTY TESTS_LIBRARIES)
47     GET_PROPERTY(TEST_LIBRARY GLOBAL PROPERTY COMMON_TESTS_LIBRARY)
48     TARGET_LINK_LIBRARIES("${TARGET_NAME}"
49         ${TEST_LIBRARY}
50         ${LINK_LIBRARIES}
51     )
52 ENDFUNCTION(WRT_TEST_BUILD)
53
54 FUNCTION(WRT_TEST_INSTALL)
55     SET_TARGET_PROPERTIES(${ARGV} PROPERTIES
56         BUILD_WITH_INSTALL_RPATH ON
57         INSTALL_RPATH_USE_LINK_PATH ON
58     )
59     INSTALL(TARGETS ${ARGV}
60         DESTINATION bin
61         PERMISSIONS OWNER_READ
62                     OWNER_WRITE
63                     OWNER_EXECUTE
64                     GROUP_READ
65                     GROUP_EXECUTE
66                     WORLD_READ
67                     WORLD_EXECUTE
68     )
69 ENDFUNCTION(WRT_TEST_INSTALL)