【发布时间】: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 文件。