diff --git a/CMakeLists.txt b/CMakeLists.txt index b29324c..b64251c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,12 +11,18 @@ option(WITH_HARDENING "Enable hardening options" ON) if (NOT DEFINED CMAKE_INSTALL_PREFIX) set(CMAKE_INSTALL_PREFIX "/usr") endif () -set(INSTALL_LIB "${CMAKE_INSTALL_PREFIX}/lib/openvpn") +# HACK: cmake >= 3.4 fixes this +if (CMAKE_INSTALL_PREFIX MATCHES "^/usr/?$") + set(CMAKE_INSTALL_SYSCONFDIR "/etc") + set(CMAKE_INSTALL_LOCALSTATEDIR "/var") +endif () -list(APPEND CMAKE_C_FLAGS "-Wall -Wextra -pedantic") +include(GNUInstallDirs) find_library(LIBLDAP NAMES "ldap") +list(APPEND CMAKE_C_FLAGS "-Wall -Wextra -pedantic") + if (WITH_HARDENING) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wformat -Wformat-security -Werror=format-security" ) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector --param ssp-buffer-size=4" ) @@ -25,11 +31,12 @@ endif () message(STATUS "------------------------------------------") message(STATUS "Build type is: ${CMAKE_BUILD_TYPE}") -message(STATUS "") -message(STATUS "Install prefix: ${CMAKE_INSTALL_PREFIX}") -message(STATUS "Library directory: ${INSTALL_LIB}") -message(STATUS "") -message(STATUS "ldap: ${LIBLDAP}") +message(STATUS "Paths:") +message(STATUS "- prefix: ${CMAKE_INSTALL_PREFIX}") +message(STATUS "- binary: ${CMAKE_INSTALL_FULL_BINDIR}") +message(STATUS "- library: ${CMAKE_INSTALL_FULL_LIBDIR}") +message(STATUS "Libraries:") +message(STATUS "- ldap: ${LIBLDAP}") add_subdirectory (src) add_subdirectory (tests) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b89a6a1..574daa9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,5 +4,4 @@ target_link_libraries("oal-test" "ldap") set(CMAKE_SHARED_LIBRARY_PREFIX "") add_library("openvpn-plugin-auth-ldap" SHARED "config.c" "ldapauth.c" "plugin.c") target_link_libraries("openvpn-plugin-auth-ldap" "ldap") - -install(TARGETS "openvpn-plugin-auth-ldap" LIBRARY DESTINATION "${INSTALL_LIB}/openvpn") +install(TARGETS "openvpn-plugin-auth-ldap" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/openvpn")