总的故事:我正在创建2个库(32、64),并希望从它们中创建一个通用二进制文件,并且只有在以下情况下,最终的通用二进制文件才会更新:
(1)两个库之一已更改。 (2)通用二进制文件已被删除。
详细信息: 我的两个基于体系结构的库是使用add_library创建的 (共享)。每个都需要稍微不同的构建选项,否则我会使用CMAKE_OSX_ARCHITECTURES。
我有一组用于创建通用二进制文件(脂质等)的命令 现在,当使用add_custom_command()或add_custom_target()时,最终通用二进制ALWAYS始终会生成,或者根本不会生成-取决于我如何调整参数。
正确的方法是什么?
以下代码每次都会创建通用名称:
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}")