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 | |
parent | df4076b5d5f03459384ffadd5e48f63797ddc87f (diff) | |
download | ydb-e5eab3309e308a5713727c7f9c506b51b6d32af7.tar.gz |
Add logging after applying new GroupInfo,
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/global_flags.cmake | 106 | ||||
-rw-r--r-- | cmake/global_vars.cmake | 2 | ||||
-rw-r--r-- | cmake/llvm-tools.cmake | 27 |
3 files changed, 131 insertions, 4 deletions
diff --git a/cmake/global_flags.cmake b/cmake/global_flags.cmake new file mode 100644 index 0000000000..dc68e42d12 --- /dev/null +++ b/cmake/global_flags.cmake @@ -0,0 +1,106 @@ +set(CMAKE_C_FLAGS "\ + -m64 \ + -fexceptions \ + -fno-common \ + -fcolor-diagnostics \ + -faligned-allocation \ + -ffunction-sections \ + -fdata-sections \ + -Wall \ + -Wextra \ + -Wno-parentheses \ + -Wno-implicit-const-int-float-conversion \ + -Wno-unknown-warning-option \ + -D_THREAD_SAFE \ + -D_PTHREADS \ + -D_REENTRANT \ + -D_LARGEFILE_SOURCE \ + -D__STDC_CONSTANT_MACROS \ + -D__STDC_FORMAT_MACROS \ + -D_FILE_OFFSET_BITS=64 \ + -D_GNU_SOURCE \ + -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE \ + -D__LONG_LONG_SUPPORTED \ + -DSSE_ENABLED=1 \ + -DSSE3_ENABLED=1 \ + -DSSSE3_ENABLED=1 \ + -DSSE41_ENABLED=1 \ + -DSSE42_ENABLED=1 \ + -DPOPCNT_ENABLED=1 \ + -DCX16_ENABLED=1 \ + -D_libunwind_ \ + -DLIBCXX_BUILDING_LIBCXXRT \ + -msse2 \ + -msse3 \ + -mssse3 \ + -msse4.1 \ + -msse4.2 \ + -mpopcnt \ + -mcx16 \ + " +) +set(CMAKE_CXX_FLAGS "\ + -m64 \ + -fexceptions \ + -fno-common \ + -fcolor-diagnostics \ + -faligned-allocation \ + -ffunction-sections \ + -fdata-sections \ + -Wall \ + -Wextra \ + -Wno-parentheses \ + -Wno-implicit-const-int-float-conversion \ + -Wno-unknown-warning-option \ + -D_THREAD_SAFE \ + -D_PTHREADS \ + -D_REENTRANT \ + -D_LARGEFILE_SOURCE \ + -D__STDC_CONSTANT_MACROS \ + -D__STDC_FORMAT_MACROS \ + -D_FILE_OFFSET_BITS=64 \ + -D_GNU_SOURCE \ + -D_YNDX_LIBUNWIND_ENABLE_EXCEPTION_BACKTRACE \ + -D__LONG_LONG_SUPPORTED \ + -DSSE_ENABLED=1 \ + -DSSE3_ENABLED=1 \ + -DSSSE3_ENABLED=1 \ + -DSSE41_ENABLED=1 \ + -DSSE42_ENABLED=1 \ + -DPOPCNT_ENABLED=1 \ + -DCX16_ENABLED=1 \ + -D_libunwind_ \ + -DLIBCXX_BUILDING_LIBCXXRT \ + -msse2 \ + -msse3 \ + -mssse3 \ + -msse4.1 \ + -msse4.2 \ + -mpopcnt \ + -mcx16 \ + -Woverloaded-virtual \ + -Wimport-preprocessor-directive-pedantic \ + -Wno-undefined-var-template \ + -Wno-return-std-move \ + -Wno-address-of-packed-member \ + -Wno-defaulted-function-deleted \ + -Wno-pessimizing-move \ + -Wno-range-loop-construct \ + -Wno-deprecated-anon-enum-enum-conversion \ + -Wno-deprecated-enum-enum-conversion \ + -Wno-deprecated-enum-float-conversion \ + -Wno-ambiguous-reversed-operator \ + -Wno-deprecated-volatile \ + " +) +add_link_options( + -nodefaultlibs + -lc + -lm +) +if (APPLE) + set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup") +elseif(UNIX) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-init-array") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-init-array") +endif() diff --git a/cmake/global_vars.cmake b/cmake/global_vars.cmake index 3b48b3cf4a..9b3d4248d2 100644 --- a/cmake/global_vars.cmake +++ b/cmake/global_vars.cmake @@ -6,7 +6,7 @@ # original buildsystem will not be accepted. -if(UNIX) +if(UNIX AND NOT APPLE) set(YASM_FLAGS -f elf64 -D UNIX -D _x86_64_ -D_YASM_ -g dwarf2) set(BISON_FLAGS -v) set(RAGEL_FLAGS -L -I ${CMAKE_SOURCE_DIR}/) 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() |