在安装过程中找不到LICENSE.txt

时间:2018-06-15 18:25:27

标签: homebrew

我正在开发一个使用CMake步骤生成构建文件的公式。在此期间我遇到以下错误:

CMake Error at /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/CPack.cmake:441 (message):
  CPack license resource file: "/tmp/myformula-20180615-53709-m1sfii/LICENSE.txt"
  could not be found.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.11.4/share/cmake/Modules/CPack.cmake:446 (cpack_check_file_exists)
  CMakeModules/installer.cmake:49 (include)
  CMakeLists.txt:219 (include)

我检查了临时目录,发现LICENSE.txt实际上已丢失。浏览brew源代码我看到brew认为这是Metafile。它被过滤掉了吗?我该如何预防?

1 个答案:

答案 0 :(得分:0)

我认为CPack只是在寻找自己提供的licence.txt。

所以:

  1. 您可以创建许可证文件并使用:

    set (CPACK_RESOURCE_FILE_LICENSE  
        "${CMAKE_CURRENT_SOURCE_DIR}/License.txt")
    

当然,在测试时,您需要在其中设置CMAKE_CURRENT_SOURCE_DIR或仅对首选文件夹进行硬编码。

  1. 如果您不需要许可,则不要设置CPACK_RESOURCE_FILE_LICENSE。包装将成功,并显示许可证警告。