diff --git a/cmake/Modules/UseMultiArch.cmake b/cmake/Modules/UseMultiArch.cmake new file mode 100644 index 00000000..6f55b495 --- /dev/null +++ b/cmake/Modules/UseMultiArch.cmake @@ -0,0 +1,28 @@ +# - Multiarch support in object code library directories +# +# This module sets the following variable +# CMAKE_INSTALL_LIBDIR to lib, lib64 or lib/x86_64-linux-gnu depending +# the platform. +# +# Note that it will override the results of GNUInstallDirs if included after +# that module. + +# Fedora uses lib64/ for 64-bit systems, Debian uses lib/x86_64-linux-gnu +if ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") + # Debian or Ubuntu? + if (EXISTS "/etc/debian_version") + set (_libdir_def "lib/${CMAKE_LIBRARY_ARCHITECTURE}") + else (EXISTS "/etc/debian_version") + # 64-bit system? + if (CMAKE_SIZEOF_VOID_P EQUAL 8) + set (_libdir_def "lib64") + else (CMAKE_SIZEOF_VOID_P EQUAL 8) + set (_libdir_def "lib") + endif (CMAKE_SIZEOF_VOID_P EQUAL 8) + endif (EXISTS "/etc/debian_version") +else ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") + set (_libdir_def "lib") +endif ("${CMAKE_SYSTEM_NAME}" MATCHES "Linux") + +# let the user override if somewhere else is desirable +set (CMAKE_INSTALL_LIBDIR "${_libdir_def}" CACHE PATH "Object code libraries")