【发布时间】:2020-12-08 10:49:28
【问题描述】:
我正在通过 nix-build 构建一个包。在源文件 FindPackage.cmake 中,路径 /usr/lib/libicucore.dylib 是硬编码的,为了安全起见,nix-build 将自动替换为 /var/empty/lib/libicucore.dylib。但是我怎样才能防止这种替换呢?或者告诉 nix-build 将任何路径添加到保留列表中?
在FindPackage.cmake中:
# Apple builds have a unique location for ICU
if (APPLE AND "${package}" STREQUAL "ICU")
set(_found_package ON)
set(ICU_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/ICU/Headers)
# Apple just has a single dylib for ICU
set(ICU_I18N_LIBRARY /usr/lib/libicucore.dylib)
set(ICU_UC_LIBRARY /usr/lib/libicucore.dylib)
set(ICU_DATA_LIBRARY /usr/lib/libicucore.dylib)
set(ICU_LIBRARIES ${ICU_UC_LIBRARY})
set(ICU_FOUND ON)
endif ()
使用nix-build -K 保留构建目录,我发现/usr/lib/libicucore.dylib 被替换为/var/empty/lib/libicucore.dylib。
【问题讨论】:
-
什么是
FindPackage.cmake? nix如何替换那里的文件路径?可能有助于提供更多信息。
标签: nix