Add detection of used Linux distribution.

This information is then used to put the bash completion files into the right directory.
This commit is contained in:
kai
2013-06-16 22:17:57 +02:00
parent 23fd0c8116
commit 40926eaba5
2 changed files with 30 additions and 1 deletions

View File

@@ -20,6 +20,11 @@ math(EXPR LDC_LLVM_VER ${LLVM_VERSION_MAJOR}*100+${LLVM_VERSION_MINOR})
#
find_package(LibConfig++ REQUIRED)
#
# Get info about used Linux distribution.
#
include(GetLinuxDistribution)
#
# Main configuration.
#
@@ -431,5 +436,9 @@ install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}_install.conf DESTINATION ${CO
install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}_install.rebuild.conf DESTINATION ${CONF_INST_DIR} RENAME ${LDC_EXE}.rebuild.conf)
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
install(DIRECTORY bash_completion.d DESTINATION ${CONF_INST_DIR})
set(BASH_COMPLETION_INST_DIR "${CONF_INST_DIR}/bash_completion.d")
if(LINUX_DISTRIBUTION_IS_GENTOO)
set(BASH_COMPLETION_INST_DIR "/usr/share/bash-completion")
endif()
install(DIRECTORY bash_completion.d/ DESTINATION ${BASH_COMPLETION_INST_DIR})
endif()

View File

@@ -0,0 +1,20 @@
# Gets the linux distribution
#
# This module defines:
# LINUX_DISTRIBUTION_IS_REDHAT
# LINUX_DISTRIBUTION_IS_GENTOO
# Check: Can /usr/bin/lsb_release -a be used?
set(LINUX_DISTRIBUTION_IS_REDHAT FALSE)
set(LINUX_DISTRIBUTION_IS_GENTOO FALSE)
if (UNIX)
if (EXISTS "/etc/redhat-release")
set(LINUX_DISTRIBUTION_IS_REDHAT TRUE)
endif()
if (EXISTS "/etc/gentoo-release")
set(LINUX_DISTRIBUTION_IS_GENTOO TRUE)
endif()
endif()