aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/llvm-tools.cmake
diff options
context:
space:
mode:
authorserg-belyakov <serg-belyakov@yandex-team.com>2022-07-08 17:02:48 +0300
committerserg-belyakov <serg-belyakov@yandex-team.com>2022-07-08 17:02:48 +0300
commite5eab3309e308a5713727c7f9c506b51b6d32af7 (patch)
treeec1a4a74e457682dbc96582556a1e956635397c7 /cmake/llvm-tools.cmake
parentdf4076b5d5f03459384ffadd5e48f63797ddc87f (diff)
downloadydb-e5eab3309e308a5713727c7f9c506b51b6d32af7.tar.gz
Add logging after applying new GroupInfo,
Diffstat (limited to 'cmake/llvm-tools.cmake')
-rw-r--r--cmake/llvm-tools.cmake27
1 files changed, 24 insertions, 3 deletions
diff --git a/cmake/llvm-tools.cmake b/cmake/llvm-tools.cmake
index b53345232a..b727e8f720 100644
--- a/cmake/llvm-tools.cmake
+++ b/cmake/llvm-tools.cmake
@@ -10,6 +10,18 @@ else()
endif()
endif()
+if (CMAKE_C_COMPILER_ID MATCHES "Clang")
+ set(CLANGC ${CMAKE_C_COMPILER})
+ message(STATUS "Using ${CLANGC} for c++ to LLVM IR translation")
+else()
+ find_program(CLANGC NAMES clang-12 clang)
+ if (CLANGC "CLANGC-NOTFOUND")
+ message(SEND_ERROR "clang not found")
+ else()
+ message(STATUS "Using ${CLANGC} for c to LLVM IR translation")
+ endif()
+endif()
+
find_program(LLVMLINK NAMES llvm-link-12 llvm-link)
if (LLVMLINK MATCHES "LLVMLINK-NOTFOUND")
message(SEND_ERROR "llvm-link not found")
@@ -23,10 +35,15 @@ else()
message(STATUS "Using ${LLVMOPT} for LLVM IR optimization")
endif()
-function(llvm_compile_cxx Tgt Inpt Out Tool)
+function(llvm_compile_cxx Tgt Inpt Out Tool UseC)
list(APPEND TARGET_INCLUDES "-I$<JOIN:$<TARGET_PROPERTY:${Tgt},INCLUDE_DIRECTORIES>,$<SEMICOLON>-I>")
list(APPEND TARGET_COMPILE_OPTIONS "$<JOIN:$<TARGET_PROPERTY:${Tgt},COMPILE_OPTIONS>,$<SEMICOLON>>")
- get_target_property(TARGET_STANDARD ${Tgt} CXX_STANDARD)
+ if (${UseC})
+ set(STD_FLAG "")
+ else()
+ get_target_property(TARGET_STANDARD ${Tgt} CXX_STANDARD)
+ set(STD_FLAG "-std=c++${TARGET_STANDARD}")
+ endif()
add_custom_command(
OUTPUT ${Out}
@@ -34,7 +51,7 @@ function(llvm_compile_cxx Tgt Inpt Out Tool)
${Tool}
${TARGET_INCLUDES}
${TARGET_COMPILE_OPTIONS}
- -std=c++${TARGET_STANDARD}
+ ${STD_FLAG}
-Wno-unknown-warning-option
-fno-lto
-emit-llvm
@@ -46,3 +63,7 @@ function(llvm_compile_cxx Tgt Inpt Out Tool)
DEPENDS ${Inpt} ${Tool}
)
endfunction()
+
+function(llvm_compile_c Tgt Inpt Out Tool)
+ llvm_compile_cxx(${Tgt} ${Inpt} ${Out} ${Tool} TRUE)
+endfunction()