set(SPIRV_TOOLS_LINT_SOURCES
divergence_analysis.h
lints.h
linter.cpp
divergence_analysis.cpp
lint_divergent_derivatives.cpp
)
if(MSVC AND (NOT ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")))
add_definitions(/MP4)
endif()
add_library(SPIRV-Tools-lint ${SPIRV_TOOLS_LIBRARY_TYPE} ${SPIRV_TOOLS_LINT_SOURCES})
spvtools_default_compile_options(SPIRV-Tools-lint)
target_include_directories(SPIRV-Tools-lint
PUBLIC
$<BUILD_INTERFACE:${spirv-tools_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${SPIRV_HEADER_INCLUDE_DIR}>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PRIVATE ${spirv-tools_BINARY_DIR}
)
target_link_libraries(SPIRV-Tools-lint
PUBLIC ${SPIRV_TOOLS_FULL_VISIBILITY})
target_link_libraries(SPIRV-Tools-lint
PUBLIC SPIRV-Tools-opt)
set_property(TARGET SPIRV-Tools-lint PROPERTY FOLDER "SPIRV-Tools libraries")
spvtools_check_symbol_exports(SPIRV-Tools-lint)
if(ENABLE_SPIRV_TOOLS_INSTALL)
install(TARGETS SPIRV-Tools-lint EXPORT SPIRV-Tools-lintTargets)
export(EXPORT SPIRV-Tools-lintTargets FILE SPIRV-Tools-lintTargets.cmake)
spvtools_config_package_dir(SPIRV-Tools-lint PACKAGE_DIR)
install(EXPORT SPIRV-Tools-lintTargets FILE SPIRV-Tools-lintTargets.cmake
DESTINATION ${PACKAGE_DIR})
spvtools_generate_config_file(SPIRV-Tools-lint)
install(FILES ${CMAKE_BINARY_DIR}/SPIRV-Tools-lintConfig.cmake DESTINATION ${PACKAGE_DIR})
endif(ENABLE_SPIRV_TOOLS_INSTALL)