# @file CMakeUtils.txt # @author Zbigniew Kostrzewa (z.kostrzewa@samsung.com) # @author Pawel Sikorski (p.sikorski@samsung.com) # @author Krzysztof Jackiewicz (k.jackiewicz@samsung.com) # @version 1.0 # @brief # # # Replacement functions for standard (w/o "WRT_" prefix) CMake functions. # They store supplied arguments in global properties to assign them to tests. FUNCTION(WRT_INCLUDE_DIRECTORIES) SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_INCLUDE_DIRS ${ARGV}) ENDFUNCTION(WRT_INCLUDE_DIRECTORIES) FUNCTION(WRT_LINK_DIRECTORIES) SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARY_DIRS ${ARGV}) ENDFUNCTION(WRT_LINK_DIRECTORIES) FUNCTION(WRT_TARGET_LINK_LIBRARIES) SET_PROPERTY(GLOBAL APPEND PROPERTY TESTS_LIBRARIES ${ARGV}) ENDFUNCTION(WRT_TARGET_LINK_LIBRARIES) FUNCTION(WRT_TEST_LIBRARY) SET_PROPERTY(GLOBAL APPEND PROPERTY COMMON_TESTS_LIBRARY ${ARGV}) ENDFUNCTION(WRT_TEST_LIBRARY) # Functions used to build test targets (proper sources, includes, libs are # added automatically) FUNCTION(WRT_TEST_BUILD TARGET_NAME) SET(SOURCES "${ARGN}") ADD_EXECUTABLE("${TARGET_NAME}" ${SOURCES} ) # get include dirs global property GET_PROPERTY(INCLUDE_DIRS GLOBAL PROPERTY TESTS_INCLUDE_DIRS) INCLUDE_DIRECTORIES( ${INCLUDE_DIRS} ) # get library dirs global property GET_PROPERTY(LIBRARY_DIRS GLOBAL PROPERTY TESTS_LIBRARY_DIRS) LINK_DIRECTORIES( ${LIBRARY_DIRS} ) # get link libraries global property GET_PROPERTY(LINK_LIBRARIES GLOBAL PROPERTY TESTS_LIBRARIES) GET_PROPERTY(TEST_LIBRARY GLOBAL PROPERTY COMMON_TESTS_LIBRARY) TARGET_LINK_LIBRARIES("${TARGET_NAME}" ${TEST_LIBRARY} ${LINK_LIBRARIES} ) ENDFUNCTION(WRT_TEST_BUILD) FUNCTION(WRT_TEST_INSTALL) SET_TARGET_PROPERTIES(${ARGV} PROPERTIES BUILD_WITH_INSTALL_RPATH ON INSTALL_RPATH_USE_LINK_PATH ON ) INSTALL(TARGETS ${ARGV} DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) ENDFUNCTION(WRT_TEST_INSTALL)