Commit 1a5f66f3 authored by jan.koester's avatar jan.koester
Browse files

cmake win fixes

parent d31cf851
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -14,6 +14,13 @@ set(WINDOWS_EXPORT_ALL_SYMBOLS ON)
add_definitions(
  -D${CMAKE_HOST_SYSTEM_NAME}
)

if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
add_definitions( -DPLGPATH="${CMAKE_INSTALL_PREFIX}/lib/dbpp")
elseif()
add_definitions( -DPLGPATH="")
endif()

if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "FreeBSD")
set(CMAKE_CXX_FLAGS "-Bsymbolic")
endif()
+47 −23
Original line number Diff line number Diff line
@@ -4,8 +4,18 @@ else()
    set(DESTDIR lib/dbpp)
endif()

find_package(PostgreSQL)
if(${PostgreSQL_FOUND})
    if(NOT TARGET PostgreSQL::pq)
        add_library(PostgreSQL::pq STATIC IMPORTED)

        set_target_properties(PostgreSQL::pq PROPERTIES
            [cite_start]INTERFACE_INCLUDE_DIRECTORIES "${PostgreSQL_INCLUDE_DIRS}" [cite: 2]
        )
        set_target_properties(PostgreSQL::pq PROPERTIES
            [cite_start]IMPORTED_LOCATION "${PostgreSQL_LIBRARIES}" [cite: 3]
        )
    endif()
    
    add_library(pgsql SHARED pgsql/pgsql.cpp)

    target_include_directories(pgsql PRIVATE
@@ -15,7 +25,7 @@ if(${PostgreSQL_FOUND})

    add_definitions(-DPGSQL)

    target_link_libraries(pgsql PUBLIC dbpp PRIVATE ${PostgreSQL_LIBRARIES})
    target_link_libraries(pgsql PUBLIC dbpp PRIVATE PostgreSQL::pq)

    set_target_properties(pgsql PROPERTIES PREFIX "")

@@ -24,15 +34,28 @@ if(${PostgreSQL_FOUND})
    if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
        install(
            RUNTIME_DEPENDENCY_SET pgsqldep
            DIRECTORIES
                "$<TARGET_FILE_DIR:PostgreSQL::pq>"
            DESTINATION ${DESTDIR}
            PRE_EXCLUDE_REGEXES   "((api|ext)-ms-.*|.*azureattest.*|vcruntime.*|ucrtbase.*|msvcrt.*|wpaxholder.*)\\.dll"
            POST_INSTALL_SCRIPT   "libpq.dll"
        )
    endif()
endif()

find_package(SQLite3)
find_package(SQLite3 REQUIRED)
    if(${SQLite3_FOUND})
        if(NOT TARGET SQLite3::sqlite3)
            add_library(SQLite3::sqlite3 STATIC IMPORTED)

            set_target_properties(SQLite3::sqlite3 PROPERTIES
                IMPORTED_LOCATION "${SQLite3_LIBRARIES}"
            )

            set_target_properties(SQLite3::sqlite3 PROPERTIES
                INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIRS}"
            )  
        endif()

        add_library(sqlite SHARED sqlite/sqlite.cpp)

        target_include_directories(sqlite PRIVATE
@@ -44,7 +67,7 @@ if(${SQLite3_FOUND})

        message(STATUS "SQLite3_LIBRARIES: ${SQLite3_LIBRARIES}")

    target_link_libraries(sqlite PUBLIC dbpp PRIVATE ${SQLite3_LIBRARIES})
        target_link_libraries(sqlite PUBLIC dbpp PRIVATE SQLite3::sqlite3)

        set_target_properties(sqlite PROPERTIES PREFIX "")

@@ -53,9 +76,10 @@ if(${SQLite3_FOUND})
        if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Windows")
            install(
                RUNTIME_DEPENDENCY_SET sqlitedep
                DIRECTORIES
                    "$<TARGET_FILE_DIR:SQLite3::sqlite3>"
                DESTINATION ${DESTDIR}
                PRE_EXCLUDE_REGEXES   "((api|ext)-ms-.*|.*azureattest.*|vcruntime.*|ucrtbase.*|msvcrt.*|wpaxholder.*)\\.dll"
            POST_INSTALL_SCRIPT   "sqlite3.dll" "libpq.dll"
            )
        endif()
    endif()
+1 −1
Original line number Diff line number Diff line
#define PLGPATH "${CMAKE_INSTALL_PREFIX}/lib/dbpp"