include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${GenericRdbms_IncludeDirs} ) if (MSVC) add_definitions( -D_WINDOWS -DFDORDBMS_EXPORTS -D_USRDLL -DPOSTGIS_EXPORTS -D_LIB -D_CRT_SECURE_NO_DEPRECATE ) # Original vcxproj files also suppresses inheritance via dominance warning (C4250) add_definitions(/wd4250) msvc_use_mbcs() else (MSVC) if (UNIX) add_definitions(-DCMAKE_BUILD) endif (UNIX) endif (MSVC) add_subdirectory( Driver ) add_subdirectory( SchemaMgr ) set( PostgreSQLProvider_SRCS Fdo/FdoRdbmsPostGisCommandCapabilities.cpp Fdo/FdoRdbmsPostGisConnection.cpp Fdo/FdoRdbmsPostGisConnectionCapabilities.cpp Fdo/FdoRdbmsPostGisConnectionInfo.cpp Fdo/FdoRdbmsPostGisCreateDataStore.cpp Fdo/FdoRdbmsPostGisDeleteDataStore.cpp Fdo/FdoRdbmsPostGisExpressionCapabilities.cpp Fdo/FdoRdbmsPostGisFilterCapabilities.cpp Fdo/FdoRdbmsPostGisFilterProcessor.cpp Fdo/FdoRdbmsPostGisGeometryCapabilities.cpp Fdo/FdoRdbmsPostGisGetDataStores.cpp Fdo/FdoRdbmsPostGisSchemaCapabilities.cpp PostGis.cpp ) msvc_add_precompiled_header("stdafx.h" "stdafx.cpp" PostgreSQLProvider_SRCS) generate_windows_dll_rc("PostgreSQLProvider" "FDO Provider for PostgreSQL" "FDO Provider for PostgreSQL Component" "PostgreSQLProvider" "PostgreSQLProvider.dll" PostgreSQLProvider_SRCS) add_library( PostgreSQLProvider${FDO_VERSION_SUFFIX} SHARED ${PostgreSQLProvider_SRCS} ) if (WIN32) target_link_libraries( PostgreSQLProvider OpenSSL::SSL crypt32 ws2_32 Secur32 ${POSTGRESQL_LIBRARIES} ${ZLIB_LIBRARIES} FDO FDOCommon FDOGeometry FDOSpatial ExpressionEngine ProvidersCommon RdbmsOverrides PostgreSQLOverrides SchemaMgr FdoRdbmsGeneric rdbi PostGISDriver Gdbi LongTransactionManager LockManager genericrdbms_util PostGISSchemaMgr geometry_fgf GrdSchemaMgr ) msvc_target_install_private( PostgreSQLProvider ${FDO_COMPONENT} TRUE) else (WIN32) target_link_libraries( PostgreSQLProvider${FDO_VERSION_SUFFIX} -Wl,-whole-archive FdoRdbmsGeneric rdbi PostGISDriver Gdbi LongTransactionManager LockManager genericrdbms_util PostGISSchemaMgr geometry_fgf GrdSchemaMgr -Wl,-no-whole-archive ) target_link_libraries( PostgreSQLProvider${FDO_VERSION_SUFFIX} ${POSTGRESQL_LIBRARIES} ${ZLIB_LIBRARIES} FDO${FDO_VERSION_SUFFIX} ExpressionEngine${FDO_VERSION_SUFFIX} ProvidersCommon RdbmsOverrides${FDO_VERSION_SUFFIX} PostgreSQLOverrides${FDO_VERSION_SUFFIX} SchemaMgr ) install( TARGETS PostgreSQLProvider${FDO_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${FDO_COMPONENT} ) install_symlink( ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/libPostgreSQLProvider${FDO_VERSION_SUFFIX}.so libPostgreSQLProvider.so ${FDO_COMPONENT} ) endif (WIN32) # Needed for unit tests file(COPY "../../com" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})