summaryrefslogtreecommitdiff
path: root/cmake/ContainTest.cmake
blob: 9f0c760baff579367fee4be04e11330c7c1e56dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# Copyright (C) 2013 Christian Dywan <christian@twotoasts.de>

include(ParseArguments)

macro(contain_test test_name)
    parse_arguments(ARGS "TEST" "" ${ARGN})
    set(TEST_ENV "")
    foreach(VARIABLE XDG_DATA_HOME XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_RUNTIME_DIR TMPDIR)
        set(CONTAINER "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/${VARIABLE}")
        file(MAKE_DIRECTORY ${CONTAINER})
        set(TEST_ENV "${TEST_ENV}${VARIABLE}=${CONTAINER};")
    endforeach()
    set_tests_properties(${test_name} PROPERTIES
                         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
                         TIMEOUT 42
                         ENVIRONMENT "${TEST_ENV}"
                         )
endmacro(contain_test)