diff options
author | serg-belyakov <serg-belyakov@yandex-team.com> | 2022-07-08 17:02:48 +0300 |
---|---|---|
committer | serg-belyakov <serg-belyakov@yandex-team.com> | 2022-07-08 17:02:48 +0300 |
commit | e5eab3309e308a5713727c7f9c506b51b6d32af7 (patch) | |
tree | ec1a4a74e457682dbc96582556a1e956635397c7 /cmake/llvm-tools.cmake | |
parent | df4076b5d5f03459384ffadd5e48f63797ddc87f (diff) | |
download | ydb-e5eab3309e308a5713727c7f9c506b51b6d32af7.tar.gz |
Add logging after applying new GroupInfo,
Diffstat (limited to 'cmake/llvm-tools.cmake')
-rw-r--r-- | cmake/llvm-tools.cmake | 27 |
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() |