Die neueste LLVM libc++
3.3 von SVN mit einem CMakeLists.txt
kommt. Ich bin ein CMake-Neuling, aber gestern habe ich genug gelernt, um libc++
check-out auf einem RHEL 6.4 x86_64-Host erstellen zu können.Gebäude sowohl statische als auch gemeinsam genutzte Bibliotheken für LLVM libC++ 3.3
Darüber hinaus konnte ich genug CPack
verwandte Befehle in CMakeLists.txt
hinzufügen, um eine libcxx-3.3.svn-0.el6.x86_64.rpm
zu generieren. Aber sehr wahrscheinlich, weil ich neu bei CMake
bin, kann ich nicht gleichzeitig eine statische und eine gemeinsame Lib erstellen.
Ja. Ich überprüfte Is it possible to get CMake to build both a static and shared version of the same library?. Aber anstatt die add_library
und listen alle Quelldateien, würde Ich mag den Ansatz von libc++
‚s beschäftigt verwenden CMakeList.txt
- mit APPEND
.
Ich konnte eine statische lib erzeugen, indem sie mit OFF
die ON
in Zeile 40 unter Ersetzen eines statischen lib
40 option(LIBCXX_ENABLE_SHARED "Build libc++ as a shared library." ON)
41
zu bauen Oder ich könnte es lassen, wie eine gemeinsame lib ist und bauen.
Ich bastelte auch mit den folgenden Zeilen und eliminierte die NOT
oder kommentiert Zeilen 232 und 233 zum Beispiel. Aber unabhängig davon, was ich versuchte, konnte ich einfach nicht die statische lib dazu bringen, zusammen mit einer gemeinsamen lib zu bauen.
232 if (NOT LIBCXX_ENABLE_SHARED)
233 list(APPEND LIBCXX_CXX_FEATURE_FLAGS -D_LIBCPP_BUILD_STATIC)
234 endif()
Wie kann ich die CMakeList.txt
Datei einstellen, um beide zur gleichen Zeit zu bauen?