blob: 3fb67d91dd1e640d52ed283d8cd5a4dbfafa6a85 [file] [log] [blame] [edit]
set(CMAKE_CLC_OUTPUT_EXTENSION .o)
set(CMAKE_INCLUDE_FLAG_CLC "-I")
set(CMAKE_CLC_DEPFILE_FORMAT gcc)
set(CMAKE_DEPFILE_FLAGS_CLC "-MD -MT <DEP_TARGET> -MF <DEP_FILE>")
cmake_initialize_per_config_variable(CMAKE_CLC_FLAGS "Flags used by the CLC compiler")
if(NOT CMAKE_CLC_COMPILE_OBJECT)
set(CMAKE_CLC_COMPILE_OBJECT
"<CMAKE_CLC_COMPILER> -x cl <DEFINES> <INCLUDES> <FLAGS> -c -o <OBJECT> <SOURCE>")
endif()
# Finds a required LLVM tool by searching the CLC compiler directory first.
function(find_llvm_tool name out_var)
cmake_path(GET CMAKE_CLC_COMPILER PARENT_PATH llvm_bin_dir)
find_program(${out_var}
NAMES ${name}
HINTS "${llvm_bin_dir}"
DOC "libclc: path to the ${name} tool"
)
if(NOT ${out_var})
message(FATAL_ERROR "${name} not found for libclc build.")
endif()
endfunction()
find_llvm_tool(llvm-ar CLC_AR)
find_llvm_tool(llvm-ranlib CLC_RANLIB)
if(NOT DEFINED CMAKE_CLC_ARCHIVE_CREATE)
set(CMAKE_CLC_ARCHIVE_CREATE "${CLC_AR} qc <TARGET> <OBJECTS>")
endif()
if(NOT DEFINED CMAKE_CLC_ARCHIVE_APPEND)
set(CMAKE_CLC_ARCHIVE_APPEND "${CLC_AR} q <TARGET> <OBJECTS>")
endif()
if(NOT DEFINED CMAKE_CLC_ARCHIVE_FINISH)
set(CMAKE_CLC_ARCHIVE_FINISH "${CLC_RANLIB} <TARGET>")
endif()
set(CMAKE_CLC_USE_LINKER_INFORMATION FALSE)
set(CMAKE_CLC_INFORMATION_LOADED 1)