общая история: я создаю 2 библиотеки (32, 64) и хочу создать из них универсальный двоичный файл, и что последний универсальный двоичный файл будет обновляться только в том случае, если:
(1) однаиз двух библиотек изменились.(2) универсальный двоичный файл был удален.
Подробности: две мои библиотеки для каждой архитектуры созданы с использованием add_library (SHARED).Каждому нужны немного разные параметры сборки, в противном случае я бы использовал CMAKE_OSX_ARCHITECTURES.
У меня есть набор команд для создания универсального бинарного файла (lipo и т. Д.). Теперь при использовании add_custom_command () или add_custom_target () либоокончательный универсальный двоичный файл ВСЕГДА строит или не строит вообще - в зависимости от того, как я настраиваю аргументы.
Какой правильный способ сделать это?
Следующий код создает универсальный каждыйвремя:
add_custom_target(${target} ALL
"lipo" "-create" ${subtarget_filenames} "-output" "../Temp/${target_filename}"
COMMAND "ln" "-f" "-s" "../Temp/${target_filename}" "../Products/${target_filename}"
COMMENT "Creating a universal binary: ${target_filename}")
Следующее не создает его вообще:
add_custom_command(OUTPUT ../Temp/${target_filename}
COMMAND "lipo" "-create" ${subtarget_filenames} "-output" "../Temp/${target_filename}"
COMMAND "ln" "-f" "-s" "../Temp/${target_filename}" "../Products/${target_filename}"
COMMENT "Creating a universal binary: ${target_filename}")