Я знаю, как добавить префикс к компоновщику. Я нуждаюсь в этом, потому что мне нужно добавить префиксы компилятора и компоновщика яблочко перед компиляцией и компоновкой.
SET(CMAKE_CXX_COMPILER "${BULLSEYE_PREFIX_CC} --no-banner ${CMAKE_CXX_COMPILER}")
SET(CMAKE_C_COMPILER "${BULLSEYE_PREFIX_CC} --no-banner ${CMAKE_C_COMPILER}")
Я не могу найти похожие для линкера. Есть указатели?
Спасибо,
Ник
Это значения для моих префиксов компилятора и компоновщика. Компилятор работает нормально и создает файл cov. Однако компоновщик, похоже, не генерирует исполняемый файл. Он компилирует файлы и создает исполняемый файл, но затем сообщает о его связывании и завершается ошибкой. Не уверен, что происходит 🙁
C:/src/sw/tools/Bullseye/win32/8.7.33/BullseyeCoverage/bin/covc.exe C:/src/sw/to
ols/win32/msvc110/VC/bin/cl.exe
C:/src/sw/tools/Bullseye/win32/8.7.33/BullseyeCoverage/bin/covlink.exe <CMAKE_CO
MMAND> -E vs_link_exe <CMAKE_CXX_COMPILER> /nologo <OBJECTS> @<<
<FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TAR
GET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <L
INK_LIBRARIES>
<<
использование CMAKE_CXX_LINK_EXECUTABLE:
set(CMAKE_CXX_LINK_EXECUTABLE "${BULLSEYE_PREFIX_CC} ${CMAKE_CXX_LINK_EXECUTABLE}")
Обратите внимание, что это не только путь к компоновщику, но также флаги и переменные, например, для Cygwin CMAKE_CXX_LINK_EXECUTABLE
является:
<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -Wl,--out-implib,<TARGET_IMPLIB> -Wl,--major-image-version,<TARGET_VERSION_MAJOR>,--minor-image-version,<TARGET_VERSION_MINOR> <LINK_LIBRARIES>
Это добавит префикс, но вы должны быть осторожны. Я бы предложил распечатать используя сообщение команду и увидите, что результат — то, что вы хотите. Эта переменная не легко настраивается, поэтому вам может потребоваться выполнить некоторую обработку строк в cmake.