mirror of
https://github.com/Cisco-Talos/clamav.git
synced 2025-10-19 10:23:17 +00:00
CMake: improve multiarch support
In testing on Alpine, I found that most libs were installing to <prefix>/lib while libclamav installed to <prefix>/lib64. Those who like multiarch will advocate for lib64, though I only actually noticed it because clamscan failed to find libclamav.so! Anyways, they should all install to lib64 by default if that's what how the system is set up. Using ${CMAKE_INSTALL_FULL_LIBDIR} instead of <prefix>/lib will do that.
This commit is contained in:
parent
5d4d8b03b5
commit
05a8d589e7
16 changed files with 31 additions and 28 deletions
|
@ -159,7 +159,14 @@ endif()
|
|||
if(APPLE)
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
if(CMAKE_INSTALL_FULL_LIBDIR)
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
else()
|
||||
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
endif()
|
||||
|
||||
if(C_LINUX)
|
||||
if(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
@ -348,8 +355,6 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|||
"None" "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# Always use '-fPIC'/'-fPIE' option.
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
|
@ -814,8 +819,8 @@ endif()
|
|||
|
||||
if(WIN32)
|
||||
# Include the license(s) in the installation
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/COPYING.txt DESTINATION ".")
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/COPYING DESTINATION ".")
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/COPYING.txt DESTINATION .)
|
||||
install(DIRECTORY ${CMAKE_SOURCE_DIR}/COPYING DESTINATION .)
|
||||
endif()
|
||||
|
||||
#
|
||||
|
|
|
@ -45,7 +45,7 @@ target_link_libraries( clamd
|
|||
if(WIN32)
|
||||
install(TARGETS clamd DESTINATION .)
|
||||
else()
|
||||
install(TARGETS clamd DESTINATION sbin)
|
||||
install(TARGETS clamd DESTINATION ${CMAKE_INSTALL_SBINDIR})
|
||||
endif()
|
||||
|
||||
if(SYSTEMD_FOUND)
|
||||
|
|
|
@ -34,5 +34,5 @@ target_link_libraries( clamdscan
|
|||
if(WIN32)
|
||||
install(TARGETS clamdscan DESTINATION .)
|
||||
else()
|
||||
install(TARGETS clamdscan DESTINATION bin)
|
||||
install(TARGETS clamdscan DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
|
|
@ -54,5 +54,5 @@ if(WIN32)
|
|||
#message("UNRESOLVED_DEPENDENCIES_VAR: ${_u_deps}")
|
||||
]])
|
||||
else()
|
||||
install(TARGETS clamdtop DESTINATION bin)
|
||||
install(TARGETS clamdtop DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
|
|
@ -49,7 +49,7 @@ target_link_libraries( clamonacc
|
|||
ClamAV::libclamav
|
||||
ClamAV::shared
|
||||
CURL::libcurl )
|
||||
install(TARGETS clamonacc DESTINATION sbin)
|
||||
install(TARGETS clamonacc DESTINATION ${CMAKE_INSTALL_SBINDIR})
|
||||
|
||||
if(SYSTEMD_FOUND)
|
||||
configure_file(
|
||||
|
|
|
@ -33,5 +33,5 @@ target_link_libraries( clamscan
|
|||
if(WIN32)
|
||||
install(TARGETS clamscan DESTINATION .)
|
||||
else()
|
||||
install(TARGETS clamscan DESTINATION bin)
|
||||
install(TARGETS clamscan DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
|
|
@ -62,5 +62,5 @@ if(WIN32)
|
|||
#message("UNRESOLVED_DEPENDENCIES_VAR: ${_u_deps}")
|
||||
]])
|
||||
else()
|
||||
install(TARGETS clamsubmit DESTINATION bin)
|
||||
install(TARGETS clamsubmit DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
|
|
@ -38,7 +38,7 @@ if(ENABLE_MAN_PAGES)
|
|||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${m}
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/share/man/man1)
|
||||
${CMAKE_INSTALL_MANDIR}/man1)
|
||||
endforeach()
|
||||
|
||||
set(MAN5_FILES
|
||||
|
@ -50,7 +50,7 @@ if(ENABLE_MAN_PAGES)
|
|||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${m}
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/share/man/man5)
|
||||
${CMAKE_INSTALL_MANDIR}/man5)
|
||||
endforeach()
|
||||
|
||||
set(MAN8_FILES
|
||||
|
@ -61,7 +61,7 @@ if(ENABLE_MAN_PAGES)
|
|||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${m}
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/share/man/man8)
|
||||
${CMAKE_INSTALL_MANDIR}/man8)
|
||||
endforeach()
|
||||
|
||||
if(C_LINUX)
|
||||
|
@ -70,7 +70,7 @@ if(ENABLE_MAN_PAGES)
|
|||
FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/man/clamonacc.8
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_PREFIX}/share/man/man8)
|
||||
${CMAKE_INSTALL_MANDIR}/man8)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -105,7 +105,7 @@ if(WIN32)
|
|||
# When built from the release tarball, this includes the user manual
|
||||
# which is exported from the clamav-faq repo.
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/html/UserManual.html)
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/html/UserManual.html DESTINATION ".")
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/html/UserManual DESTINATION ".")
|
||||
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/html/UserManual.html DESTINATION .)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/html/UserManual DESTINATION .)
|
||||
endif()
|
||||
endif()
|
||||
|
|
|
@ -32,7 +32,7 @@ target_link_libraries(freshclam-bin
|
|||
if(WIN32)
|
||||
install(TARGETS freshclam-bin DESTINATION .)
|
||||
else()
|
||||
install(TARGETS freshclam-bin DESTINATION bin)
|
||||
install(TARGETS freshclam-bin DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
# Install an empty database directory
|
||||
|
|
|
@ -72,7 +72,7 @@ if(ENABLE_SHARED_LIB)
|
|||
if(WIN32)
|
||||
install(TARGETS mspack DESTINATION .)
|
||||
else()
|
||||
install(TARGETS mspack DESTINATION lib)
|
||||
install(TARGETS mspack DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
|
||||
# Public (forwarded) dependencies.
|
||||
|
|
|
@ -92,7 +92,7 @@ if(ENABLE_SHARED_LIB)
|
|||
if(WIN32)
|
||||
install(TARGETS clamunrar DESTINATION .)
|
||||
else()
|
||||
install(TARGETS clamunrar DESTINATION lib)
|
||||
install(TARGETS clamunrar DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
|
||||
add_library( ClamAV::libunrar ALIAS clamunrar )
|
||||
|
|
|
@ -66,7 +66,7 @@ if(ENABLE_UNRAR)
|
|||
if(WIN32)
|
||||
install(TARGETS clamunrar_iface DESTINATION .)
|
||||
else()
|
||||
install(TARGETS clamunrar_iface DESTINATION lib)
|
||||
install(TARGETS clamunrar_iface DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
|
||||
add_library( ClamAV::libunrar_iface ALIAS clamunrar_iface )
|
||||
|
|
|
@ -94,7 +94,7 @@ if(ENABLE_SHARED_LIB)
|
|||
#message("UNRESOLVED_DEPENDENCIES_VAR: ${_u_deps}")
|
||||
]])
|
||||
else()
|
||||
install(TARGETS freshclam DESTINATION lib)
|
||||
install(TARGETS freshclam DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
|
||||
add_library( ClamAV::libfreshclam ALIAS freshclam )
|
||||
|
@ -117,7 +117,7 @@ if(ENABLE_STATIC_LIB)
|
|||
if(WIN32)
|
||||
install(TARGETS freshclam_static DESTINATION .)
|
||||
else()
|
||||
install(TARGETS freshclam_static DESTINATION lib)
|
||||
install(TARGETS freshclam_static DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
|
||||
add_library( ClamAV::libfreshclam_static ALIAS freshclam_static )
|
||||
|
|
|
@ -32,5 +32,5 @@ target_link_libraries( sigtool
|
|||
if(WIN32)
|
||||
install(TARGETS sigtool DESTINATION .)
|
||||
else()
|
||||
install(TARGETS sigtool DESTINATION bin)
|
||||
install(TARGETS sigtool DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
|
|
@ -68,7 +68,6 @@ function(assemble_testfile test_file)
|
|||
--split_dir ${CMAKE_CURRENT_SOURCE_DIR}/.split
|
||||
COMMENT "Assembling test file ${test_file} of ${original}")
|
||||
add_custom_target(tgt_${test_file} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${test_file})
|
||||
#install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${test_file} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endfunction()
|
||||
|
||||
foreach(TESTFILE ${TESTFILES})
|
||||
|
|
|
@ -17,7 +17,6 @@ function(assemble_testfile test_file)
|
|||
--split_dir ${CMAKE_CURRENT_SOURCE_DIR}/.split
|
||||
COMMENT "Assembling test file ${test_file} of ${original}")
|
||||
add_custom_target(tgt_${test_file} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${test_file})
|
||||
#install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${test_file} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endfunction()
|
||||
|
||||
foreach(TESTFILE ${TESTFILES})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue