llama-cpp-turboquant/src/shaders/glsl/CMakeLists.txt
Fabian Sauter 2013bf9c68 Increased the CMake minimum required version to 3.20
Turns out `OUTPUT` for `add_custom_command` requires CMake 3.20. https://cmake.org/cmake/help/latest/command/add_custom_command.html

Signed-off-by: Fabian Sauter <sauter.fabian@mailbox.org>
2022-07-28 10:35:22 +02:00

26 lines
1.5 KiB
CMake

# SPDX-License-Identifier: Apache-2.0
# ######################
cmake_minimum_required(VERSION 3.20)
# Check if build shaders from source is enabled
if(KOMPUTE_OPT_BUILD_SHADERS)
vulkan_compile_shader(INFILE ShaderOpMult.comp
OUTFILE ShaderOpMult.hpp
NAMESPACE "kp")
vulkan_compile_shader(INFILE ShaderLogisticRegression.comp
OUTFILE ShaderLogisticRegression.hpp
NAMESPACE "kp")
else() # Else we will use our precompiled versions
add_custom_command(OUTPUT $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>/ShaderOpMult.hpp COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/ShaderOpMult.hpp.in $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>/ShaderOpMult.hpp)
add_custom_command(OUTPUT $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>/ShaderLogisticRegression.hpp COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/ShaderLogisticRegression.hpp.in $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>/ShaderLogisticRegression.hpp)
endif()
add_library(kp_shader INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/ShaderOpMult.hpp"
"${CMAKE_CURRENT_BINARY_DIR}/ShaderLogisticRegression.hpp")
target_include_directories(kp_shader INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>)
# Make sure we install shaders:
install(FILES $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>/ShaderOpMult.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>/ShaderLogisticRegression.hpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})