L'ultimo LLVM libc++
3.3 di SVN viene fornito con CMakeLists.txt
. Sono un newbie di CMake, ma ieri ho studiato abbastanza per essere in grado di creare il check-out libc++
su un host RHEL 6.4 x86_64.Creazione di librerie sia statiche che condivise per LLVM libC++ 3.3
Inoltre, sono stato in grado di aggiungere abbastanza comandi relativi a CPack
in detto CMakeLists.txt
per generare un libcxx-3.3.svn-0.el6.x86_64.rpm
. Ma molto probabilmente per essere nuovo a CMake
, non riesco a costruire una libreria statica e una lib condivisa allo stesso tempo.
Sì. Ho recensito Is it possible to get CMake to build both a static and shared version of the same library?. Ma, invece di usare lo add_library
e enumerare tutti i file sorgente, vorrei usare l'approccio impiegato da 's CMakeList.txt
- usando APPEND
.
ho potuto generare un lib statica sostituendo la ON
in linea 40 sotto con OFF
per costruire un lib statica
40 option(LIBCXX_ENABLE_SHARED "Build libc++ as a shared library." ON)
41
o potrei lasciare così com'è e costruire un lib condivisa.
Ho anche armeggiato con le seguenti linee, eliminando il NOT
o commentando le righe 232 e 233 per esempio. Ma a prescindere da quello che ho provato, non riesco proprio a far sì che la libreria statica costruisca insieme a una lib condivisa.
232 if (NOT LIBCXX_ENABLE_SHARED)
233 list(APPEND LIBCXX_CXX_FEATURE_FLAGS -D_LIBCPP_BUILD_STATIC)
234 endif()
Come posso modificare il file CMakeList.txt
in modo da costruire entrambi allo stesso tempo?