使用brew构建libgit2静态库

时间:2014-12-28 21:55:12

标签: macos cmake homebrew libgit2

我想用brew构建libgit2的静态库。默认情况下,二进制文件仅包含动态库:

brew install libgit2

根据libgit2文档,我们需要将-DBUILD_SHARED_LIBS=OFF传递给cmake。如何让brew传递给cmake的参数?我试过了:

brew install libgit2 -DBUILD_SHARED_LIBS=OFF --build-from-source

但这并没有成功。

2 个答案:

答案 0 :(得分:2)

这对我有用,如果您只对生成静态库感兴趣,可以试试这个。

  1. 使用brew
  2. 安装libgit2
      

    brew install libgit2

    这将安装构建libgit2所需的所有依赖项

    1. https://github.com/libgit2/libgit2下载libgit2代码并手动编译。请按照以下步骤操作:
    2.   

      cd SOURCE_DIRECTORY

           

      mkdir build

           

      //如果要将二进制文件安装到本地文件夹中,请执行此操作。

           

      mkdir install

           

      cd build

           

      cmake .. -DCMAKE_OSX_ARCHITECTURES =" i386; x86_64" -DCMAKE_INSTALL_PREFIX = / SOURCE_DIRECTORY / install -DBUILD_SHARED_LIBS = OFF

           

      cmake --build。 --target install

      " -DCMAKE_INSTALL_PREFIX" 指定要将二进制文件安装到的文件夹。选择任何文件夹。

      这会在" / SOURCE_DIRECTORY / install / lib "生成静态库。夹

答案 1 :(得分:2)

-DBUILD_SHARED_LIBS=OFF附加到您使用的libgit2 formula中使用的cmake参数:

def install
  args = std_cmake_args
  ...
  args << "-DBUILD_SHARED_LIBS=OFF"
  ...