Commit d524ea2e authored by jan.koester's avatar jan.koester
Browse files

test

parent fb074e36
Loading
Loading
Loading
Loading
+16 −13
Original line number Diff line number Diff line
if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
    set(DESTDIR bin)
else()
    set(DESTDIR lib/dbpp)
endif()

find_package(PostgreSQL REQUIRED)
if(${POSTGRESQL_FOUND})
find_package(PostgreSQL)
#if(${POSTGRESQL_FOUND})
    add_library(pgsql SHARED pgsql/pgsql.cpp)

    target_include_directories(pgsql PRIVATE
@@ -18,7 +12,12 @@ if(${POSTGRESQL_FOUND})

    set_target_properties(pgsql PROPERTIES PREFIX "")

   install(TARGETS pgsql DESTINATION ${DESTDIR} RUNTIME_DEPENDENCY_SET pgsqldep)
   install(
        TARGETS pgsql
        RUNTIME_DEPENDENCY_SET pgsqldep
        LIBRARY DESTINATION lib/dbpp NAMELINK_SKIP
        RUNTIME DESTINATION bin
    )
   
   if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
        install(
@@ -28,10 +27,10 @@ if(${POSTGRESQL_FOUND})
            DIRECTORIES
                "$<TARGET_FILE_DIR:PostgreSQL::pq>"
                "${POSTGRESQL_BIN_DIR}"
            DESTINATION ${DESTDIR}
            DESTINATION bin
        )
   endif()
endif()
#endif()

find_package(SQLite3 )
if(SQLITE3_FOUND)
@@ -54,7 +53,11 @@ if(SQLITE3_FOUND)

    # Installation des sqlite-Moduls

    install(TARGETS sqlite DESTINATION ${DESTDIR} RUNTIME_DEPENDENCY_SET sqlitedep)
    install(TARGETS sqlite
        RUNTIME_DEPENDENCY_SET sqlitedep
        LIBRARY DESTINATION lib/dbpp NAMELINK_SKIP
        RUNTIME DESTINATION bin
    )

    # Windows-Installationslogik für Abhängigkeiten (korrekt)
    if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
@@ -62,7 +65,7 @@ if(SQLITE3_FOUND)
            RUNTIME_DEPENDENCY_SET sqlitedep
            DIRECTORIES
                "$<TARGET_FILE_DIR:sqlite3::sqlite3>" # KORREKTUR: Kleingeschriebener Target-Name
            DESTINATION ${DESTDIR}
            DESTINATION bin
            PRE_EXCLUDE_REGEXES   "((api|ext)-ms-.*|.*azureattest.*|vcruntime.*|ucrtbase.*|msvcrt.*|wpaxholder.*)\\.dll"
            POST_EXCLUDE_REGEXES [[.*(\\|/)system32(\\|/).*\.dll]]
        )
+14 −7
Original line number Diff line number Diff line
@@ -9,7 +9,18 @@ set(POSTGRESQL_FOUND FALSE)
# --------------------------------------------------------------------------

# Suche nach dem Haupt-Header (libpq-fe.h)
find_path(POSTGRESQL_INCLUDE_DIRS NAMES libpq-fe.h)
find_path(POSTGRESQL_INCLUDE_DIRS
    NAMES libpq-fe.h
    # HINTS helfen, die Suche direkt auf bekannte Systempfade zu leiten
    HINTS
        /usr/include
        /usr/local/include
    # PATH_SUFFIXES helfen, wenn der Header in einem Unterverzeichnis liegt
    PATH_SUFFIXES
        postgresql
        postgresql/server
        postgresql-client
)

# Suche nach der Bibliothek (PostgreSQL Client Library ist "pq")
find_library(POSTGRESQL_LIBRARIES NAMES pq)
@@ -37,16 +48,12 @@ if (NOT TARGET PostgreSQL::pq AND POSTGRESQL_FOUND)

    if (WIN32)
        # --- Windows Implementierung (.dll/.lib) ---

        # Ermittle das Verzeichnis der gefundenen Import Library (.lib)
        get_filename_component(_POSTGRESQL_LIB_DIR "${POSTGRESQL_LIBRARIES}" DIRECTORY)

        # Rate den Pfad zur DLL (typisch ist der gleiche Ordner)
        set(_POSTGRESQL_DLL_PATH "${_POSTGRESQL_LIB_DIR}/libpq.dll")

        set_target_properties(PostgreSQL::pq PROPERTIES
            IMPORTED_IMPLIB_RELEASE "${POSTGRESQL_LIBRARIES}"       # Die gefundene .lib
            IMPORTED_LOCATION_RELEASE "${_POSTGRESQL_DLL_PATH}"     # Die geratene .dll
            IMPORTED_IMPLIB_RELEASE "${POSTGRESQL_LIBRARIES}"
            IMPORTED_LOCATION_RELEASE "${_POSTGRESQL_DLL_PATH}"
            IMPORTED_IMPLIB_DEBUG "${_POSTGRESQL_LIB_DIR}/libpqd.lib"
            IMPORTED_LOCATION_DEBUG "${_POSTGRESQL_LIB_DIR}/libpqd.dll"
        )