compute-runtime/unit_tests/offline_compiler/segfault_test/CMakeLists.txt

72 lines
2.4 KiB
CMake

#
# Copyright (C) 2018-2019 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
set(CLOC_SEGFAULT_TEST_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt
${CMAKE_CURRENT_SOURCE_DIR}/segfault_helper.h
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
${NEO_SOURCE_DIR}/core/helpers/abort.cpp
${NEO_SOURCE_DIR}/core/os_interface/os_library.h
${NEO_SOURCE_DIR}/unit_tests/helpers/debug_helpers.cpp
)
if(WIN32)
list(APPEND CLOC_SEGFAULT_TEST_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/windows/safety_guard_caller_windows.cpp
${NEO_SOURCE_DIR}/core/os_interface/windows/os_library_win.cpp
${NEO_SOURCE_DIR}/core/os_interface/windows/os_library_win.h
${NEO_SOURCE_DIR}/offline_compiler/utilities/windows/safety_guard_windows.h
${NEO_SOURCE_DIR}/offline_compiler/utilities/windows/seh_exception.cpp
${NEO_SOURCE_DIR}/offline_compiler/utilities/windows/seh_exception.h
)
else()
list(APPEND CLOC_SEGFAULT_TEST_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/linux/safety_guard_caller_linux.cpp
${NEO_SOURCE_DIR}/core/os_interface/linux/os_library_linux.cpp
${NEO_SOURCE_DIR}/core/os_interface/linux/os_library_linux.h
)
endif()
add_executable(ocloc_segfault_test ${CLOC_SEGFAULT_TEST_SOURCES})
target_link_libraries(ocloc_segfault_test gmock-gtest)
if(MSVC)
target_compile_options(ocloc_segfault_test PRIVATE /Zi)
set_property(TARGET ocloc_segfault_test APPEND PROPERTY LINK_FLAGS /DEBUG)
target_link_libraries(ocloc_segfault_test dbghelp)
endif()
if(UNIX)
target_link_libraries(ocloc_segfault_test dl pthread)
endif()
set(CLOC_SEGFAULT_TEST_INCLUDES
${NEO_SOURCE_DIR}
${THIRD_PARTY_DIR}
)
if(CMAKE_COMPILER_IS_GNUCC)
target_compile_definitions(ocloc_segfault_test PRIVATE SKIP_SEGFAULT_TEST=1)
endif()
get_property(CLOC_FOLDER TARGET ocloc PROPERTY FOLDER)
set_property(TARGET ocloc_segfault_test PROPERTY FOLDER ${CLOC_FOLDER})
target_include_directories(ocloc_segfault_test BEFORE PRIVATE ${CLOC_SEGFAULT_TEST_INCLUDES})
create_project_source_tree(ocloc_segfault_test ${NEO_SOURCE_DIR}/offline_compiler ${NEO_SOURCE_DIR}/runtime ${NEO_SOURCE_DIR}/unit_tests)
add_custom_target(run_ocloc_segfault_test ALL
DEPENDS ocloc_segfault_test
)
add_custom_command(
TARGET run_ocloc_segfault_test
POST_BUILD
COMMAND echo Running ocloc_segfault_test
COMMAND ocloc_segfault_test
WORKING_DIRECTORY ${TargetDir}
)
set_property(TARGET run_ocloc_segfault_test PROPERTY FOLDER ${CLOC_FOLDER})