来自SVN的最新LLVM libc++
3.3带有CMakeLists.txt
。我是一名CMake新手,但昨天我研究得足以在RHEL 6.4 x86_64主机上建立libc++
签出。
此外,我能够在所述CPack
中添加足够的CMakeLists.txt
相关命令,以生成libcxx-3.3.svn-0.el6.x86_64.rpm
。但很可能由于是CMake
的新手,我无法同时构建静态和共享库。
是。我查看了Is it possible to get CMake to build both a static and shared version of the same library?。但是,我不想使用add_library
并枚举所有源文件,而是使用libc++
的{{1}}使用的方法 - 使用CMakeList.txt
。
我可以通过将下面第40行中的APPEND
替换为ON
来生成静态库,以构建静态库
OFF
或者我可以保持原样并构建共享库。
我还修改了以下几行,例如消除40 option(LIBCXX_ENABLE_SHARED "Build libc++ as a shared library." ON)
41
或注释掉第232和233行。但无论我怎么做,我似乎都无法将静态lib与共享库一起构建。
NOT
如何调整232 if (NOT LIBCXX_ENABLE_SHARED)
233 list(APPEND LIBCXX_CXX_FEATURE_FLAGS -D_LIBCPP_BUILD_STATIC)
234 endif()
文件以便同时构建两者?
答案 0 :(得分:3)
行。我决定使用{try and true'方法使用add_library
命令,列出所有*.cpp
。它适用于OOTB,因此我认为它是一种解决方案。
一旦我有时间提高CMake
的熟练程度,我将再次重新访问此问题。