Как собрать гугл форк из LLVM 7.0.2 (https://android.googlesource.com/toolchain/llvm, 1d739ffb0366421d383e04ff80ec2ee591315116)?У меня нет проблем со сборкой оригинального LLVM.Но выполнение шага настройки cmake <path/to/llvm/source/root>
приводит к множеству подобных ошибок:
...
-- Targeting XCore
-- Clang version: 7.0.0
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG
-- Performing Test CXX_SUPPORTS_NO_NESTED_ANON_TYPES_FLAG - Failed
CMake Error at tools/clang/tools/diagtool/CMakeLists.txt:14 (target_link_libraries):
The keyword signature for target_link_libraries has already been used with
the target "diagtool". All uses of target_link_libraries with a target
must be either all-keyword or all-plain.
The uses of the keyword signature are here:
* cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
* cmake/modules/AddLLVM.cmake:771 (target_link_libraries)
CMake Error at tools/clang/tools/driver/CMakeLists.txt:33 (target_link_libraries):
The keyword signature for target_link_libraries has already been used with
the target "clang". All uses of target_link_libraries with a target must
be either all-keyword or all-plain.
The uses of the keyword signature are here:
* cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
* cmake/modules/AddLLVM.cmake:771 (target_link_libraries)
CMake Error at tools/clang/tools/clang-format/CMakeLists.txt:14 (target_link_libraries):
The keyword signature for target_link_libraries has already been used with
the target "clang-format". All uses of target_link_libraries with a target
must be either all-keyword or all-plain.
The uses of the keyword signature are here:
* cmake/modules/LLVM-Config.cmake:105 (target_link_libraries)
* cmake/modules/AddLLVM.cmake:771 (target_link_libraries)
...
Я нахожусь на Linux Mint 18.2, машина x86_64.
РЕДАКТИРОВАТЬ: Если я пропускаю «инструменты» и «тесты»«тогда это работает.Как это: cmake -G Ninja -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF <src>
.Хотя сборка с ninja
завершается неудачно по той же причине, хотя я и указал флаги, чтобы также пропустить сборку (а не просто настройку) «инструментов» и «тестов» - он все равно пытается их собрать: (