tl; dr
Учитывая CMakeList.txt
, который я не могу редактировать, могу ли я установить CMAKE_TRY_COMPILE_TARGET_TYPE
равным STATIC_LIBRARY
при настройке этого файла?
В идеале я мог бы сделать это через переменную окружения, но если это невозможно, передача моего значения в качестве аргумента командной строки тоже будет в порядке.
Подробности
Я пытаюсь создать Профиль Конана, который позволит мне пересечь сборку с помощью GNU Arm Embedded Toolchain .
Конан предоставляет механизм для указания бинарного файла компилятора и флагов компилятора + компоновщика, которые я хотел бы использовать в CMake, но мне нужно указать set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
, чтобы GNU Arm Embedded прошла проверку компилятора CMake.
Чтобы заставить работать мой кросс-сборочный инструментарий, у меня осталось 2 варианта:
- Каждый файл CMake, который я хочу поддерживать кросс-сборку, должен проверить,сборка для встроенного устройства, и если это так, запустите
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
.Это раздражает, потому что заставляет все проекты думать о внедрении. - ИЛИ Как-то передать
CMAKE_TRY_COMPILE_TARGET_TYPE
в CMake без редактирования CMakeList.txt
.
Я бы хотелделать 2.