[CMake] How can I place a 64bit library build into /usr/lib64?

Zack Perry zack.perry at sbcglobal.net
Sat Jul 27 23:20:58 EDT 2013


I have been trying to build libc++ <http://libc++.llvm.org/> on a RHEL 6.4 64bit box. The library comes with a CMakeLists.txt <http://llvm.org/svn/llvm-project/libcxx/trunk/CMakeLists.txt>.

Running the following:

CC=clang CXX=clang++ cmake -G "Unix Makefiles" -DLIBCXX_CXX_ABI=libcxxabi -DLIBCXX_LIBCXXABI_INCLUDE_PATHS="/usr/include/c++abi/3.3/" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DLIB_SUFFIX=64 $HOME/clang3.3/libs/libcxx


It can successfully generate a Makefile in the build subdirectory (it's an out-of-source build). 

By adding a few CPack related statements, I also can create a RPM using 'make package'.  But, a rpm -qlp libcxx-3-3-0.el6.x86_64.rpm shows that the shared library is installed in /usr/lib, not /usr/lib64, as 64bit libraries on RHEL 6.x should go.

I am new to cmake, and after a few hours googling and editing/changing/rebuilding the CMakeLists.txt, I still can't get the library installed into /usr/lib64.  I would be grateful to any tips/hints.

-- Zack


More information about the CMake mailing list