Commit ca6efc82 authored by Paul Schütze's avatar Paul Schütze
Browse files

Merge branch 'backport_21_pkgconf' into 'v2.1-stable'

[v2.1-stable] DatabaseWriter: Find PQXX via PkgConfig

See merge request allpix-squared/allpix-squared!638
parents 894864dc 6e5cbb1d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -300,8 +300,7 @@ FILE(
    LIST_DIRECTORIES false
    RELATIVE ${PROJECT_SOURCE_DIR}
    "cmake/*.cmake" "CMakeLists.txt")
LIST(REMOVE_ITEM CHECK_CMAKE_FILES "cmake/LATEX.cmake" "cmake/PANDOC.cmake" "cmake/FindPQXX.cmake"
     "cmake/CodeCoverage.cmake")
LIST(REMOVE_ITEM CHECK_CMAKE_FILES "cmake/LATEX.cmake" "cmake/PANDOC.cmake" "cmake/CodeCoverage.cmake")

INCLUDE("cmake/cmake-checks.cmake")

cmake/FindPQXX.cmake

deleted100644 → 0
+0 −53
Original line number Diff line number Diff line
# Find PostGreSQL C++ library and header file
# Sets
#   PQXX_FOUND                 to 0 or 1 depending on result
#   PQXX_INCLUDE_DIRECTORIES  to the directory containing mysql.h
#   PQXX_LIBRARIES            to the MySQL client library (and any dependents required)
# If PQXX_REQUIRED is defined, then a fatal error message will be generated if libpqxx is not found
IF(NOT PQXX_INCLUDE_DIRECTORIES OR NOT PQXX_LIBRARIES)

    FIND_PACKAGE(PostgreSQL REQUIRED)
    IF(PostgreSQL_FOUND)
        FILE(TO_CMAKE_PATH "$ENV{PQXX_DIR}" _PQXX_DIR)

        FIND_LIBRARY(PQXX_LIBRARY
            NAMES libpqxx pqxx
            PATHS
            ${_PQXX_DIR}/lib
            ${_PQXX_DIR}
            ${CMAKE_INSTALL_PREFIX}/lib
            ${CMAKE_INSTALL_PREFIX}/bin
            /usr/local/pgsql/lib
            /usr/local/lib
            /usr/lib
            /usr/lib/x86_64-linux-gnu/
            DOC "Location of libpqxx library"
            NO_DEFAULT_PATH
        )

        FIND_PATH(PQXX_HEADER_PATH
            NAMES pqxx/pqxx
            PATHS
            ${_PQXX_DIR}/include
            ${_PQXX_DIR}
            ${CMAKE_INSTALL_PREFIX}/include
            /usr/local/pgsql/include
            /usr/local/include
            /usr/include
            DOC "Path to pqxx/pqxx header file. Do not include the 'pqxx' directory in this value."
            NO_DEFAULT_PATH
        )
    ENDIF()

    IF(PQXX_HEADER_PATH AND PQXX_LIBRARY)

        SET(PQXX_FOUND 1 CACHE INTERNAL "PQXX found" FORCE)
        SET(PQXX_INCLUDE_DIRECTORIES "${PQXX_HEADER_PATH};${PostgreSQL_INCLUDE_DIRECTORIES}" CACHE STRING "Include directories for PostGreSQL C++ library"  FORCE)
        SET(PQXX_LIBRARIES "${PQXX_LIBRARY};${PostgreSQL_LIBRARIES}" CACHE STRING "Link libraries for PostGreSQL C++ interface" FORCE)

        MARK_AS_ADVANCED(FORCE PQXX_INCLUDE_DIRECTORIES)
        MARK_AS_ADVANCED(FORCE PQXX_LIBRARIES)
    ELSE()
        MESSAGE("PQXX NOT FOUND")
    ENDIF()
ENDIF()
+4 −2
Original line number Diff line number Diff line
ALLPIX_ENABLE_DEFAULT(OFF)
ALLPIX_UNIQUE_MODULE(MODULE_NAME)

FIND_PACKAGE(PQXX REQUIRED)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PQXX REQUIRED libpqxx)

TARGET_LINK_LIBRARIES(${MODULE_NAME} ${PQXX_LIBRARIES})
TARGET_INCLUDE_DIRECTORIES(${MODULE_NAME} SYSTEM PRIVATE ${PQXX_INCLUDE_DIRECTORIES})
TARGET_INCLUDE_DIRECTORIES(${MODULE_NAME} SYSTEM PRIVATE ${PQXX_INCLUDE_DIRS})

ALLPIX_MODULE_SOURCES(${MODULE_NAME} DatabaseWriterModule.cpp)