【问题标题】:Trying to build blender, not sure where to put "configure flags"尝试构建搅拌机,不知道在哪里放置“配置标志”
【发布时间】:2014-04-03 05:13:09
【问题描述】:

我一直在浏览 cmake 文档、Blender 文档等。找不到关于这些“配置标志”需要去哪里的任何信息。我什至找不到任何关于它是特定于项目还是只是 cmake 的约定。

Blender 的 install_deps.sh 告诉我我需要设置以下标志...

-D OPENEXR_ROOT_DIR=/opt/lib/openexr
-D OPENIMAGEIO_ROOT_DIR=/opt/lib/oiio
-D WITH_CYCLES_OSL=ON
-D WITH_LLVM=ON
-D LLVM_VERSION=3.3
-D CYCLES_OSL=/opt/lib/osl
-D WITH_CODEC_FFMPEG=ON
-D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;rt;theoradec;theoraenc;theora;vorbisenc;vorbisfile;vorbis;ogg;x264;openjpeg'
-D FFMPEG=/opt/lib/ffmpeg

哪个很好,但我如何/在哪里将此信息传递给 cmake?

【问题讨论】:

  • 这些可能是在您运行 CMake 时作为命令行参数传递的。
  • 如果您从构建目录执行cmake -DMyVar=Value .,则MyVar=Value 将被缓存到CMakeCache.txt。我认为这是将值放入 CMakeCache.txt 的更好方法(而不是手动编辑文件)。
  • 我发现我可以使用 ldconfig 指定 cmake 使用的库,编辑 ldconfig 配置文件并设置正确的符号链接。 ldconfig 甚至可以用于管理同一个库的多个(或编译与托管)版本。事实证明,这将是设置“构建环境”的首选方式,而不是提供命令行参数或手动编辑 CMakeCache.txt 文件。

标签: cmake blender


【解决方案1】:

我知道将配置信息发送到 cmake 的两种方法。

第一种方法是在首次设置构建时调用 cmake。

cmake -G "Unix Makefiles" -DOPENEXR_ROOT_DIR=/opt/lib/openexr -DWITH_CYCLES_OSL=ON -DWITH_LLVM=ON ../blender

注意-D 和变量名之间没有空格。字符串选项可以用引号括起来,对于带空格的路径很有用。

第二种方法是使用 cmake “配置实用程序”。这可以作为 cli 命令 ccmake ../blender 或作为名为 cmake-gui 的 gui 应用程序使用。更改选项后记得配置和生成。

请注意,其中一些选项被配置为高级,只有通过在 ccmake 中按 T 或在 gui 应用中勾选高级才能看到。

【讨论】:

  • +1+1+1+1 这正是我们所需要的。除此之外,我发现我可以使用 ldconfig 手动配置库位置、它们的位置,以及通过更改 ldconfig 配置文件和使用符号链接来默认使用哪些位置。
猜你喜欢
  • 2018-09-09
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 2016-04-06
  • 2022-07-28
相关资源
最近更新 更多