include_directories( ${CMAKE_CURRENT_SOURCE_DIR} ${GenericRdbms_IncludeDirs} ) if (MSVC) add_definitions( -D_WINDOWS -D_USRDLL -DODBC_EXPORTS -DFDORDBMS_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( SchemaMgr ) set( ODBCProvider_SRCS Fdo/FdoRdbmsOdbcCommandCapabilities.cpp Fdo/FdoRdbmsOdbcConnectionCapabilities.cpp Fdo/FdoRdbmsOdbcConnection.cpp Fdo/FdoRdbmsOdbcConnectionInfo.cpp Fdo/FdoRdbmsOdbcExpressionCapabilities.cpp Fdo/FdoRdbmsOdbcFilterCapabilities.cpp Fdo/FdoRdbmsOdbcFilterProcessor.cpp Fdo/FdoRdbmsOdbcSchemaCapabilities.cpp Fdo/FdoRdbmsOdbcSpatialManager.cpp Fdo/FdoRdbmsOdbcSpatialSecondaryFilterLocal.cpp Fdo/FdoRdbmsOdbcSpatialSqlFilter.cpp Odbc.cpp ) msvc_add_precompiled_header("stdafx.h" "stdafx.cpp" ODBCProvider_SRCS) generate_windows_dll_rc("ODBCProvider" "FDO Provider for ODBC" "FDO Provider for ODBC Component" "ODBCProvider" "ODBCProvider.dll" ODBCProvider_SRCS) add_library( ODBCProvider${FDO_VERSION_SUFFIX} SHARED ${ODBCProvider_SRCS} ) if (WIN32) target_link_libraries( ODBCProvider odbc32 odbccp32 advapi32 legacy_stdio_definitions FDO FDOCommon FDOGeometry FDOSpatial ExpressionEngine ProvidersCommon RdbmsOverrides ODBCOverrides SchemaMgr FdoRdbmsGeneric rdbi ODBCDriver Gdbi LongTransactionManager LockManager genericrdbms_util ODBCSchemaMgr geometry_fgf GrdSchemaMgr ) msvc_target_install_private( ODBCProvider ${FDO_COMPONENT} TRUE) else (WIN32) target_link_libraries( ODBCProvider${FDO_VERSION_SUFFIX} -Wl,-whole-archive genericrdbms_util rdbi FdoRdbmsGeneric ODBCSchemaMgr ODBCDriver Gdbi LongTransactionManager LockManager geometry_fgf GrdSchemaMgr ProvidersCommon SchemaMgr -Wl,-no-whole-archive ) target_link_libraries( ODBCProvider${FDO_VERSION_SUFFIX} ${ODBC_LIBRARY} ${ODBCINST_LIBRARY} FDO${FDO_VERSION_SUFFIX} ExpressionEngine${FDO_VERSION_SUFFIX} RdbmsOverrides${FDO_VERSION_SUFFIX} ODBCOverrides${FDO_VERSION_SUFFIX} ) install( TARGETS ODBCProvider${FDO_VERSION_SUFFIX} DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${FDO_COMPONENT} ) install_symlink( ${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}/libODBCProvider${FDO_VERSION_SUFFIX}.so libODBCProvider.so ${FDO_COMPONENT} ) endif (WIN32) # Needed for unit tests file(COPY "../../com" DESTINATION ${CMAKE_CURRENT_BINARY_DIR})