You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tqt3/src/sql/CMakeLists.txt

106 lines
3.0 KiB

include_directories(
${CMAKE_BINARY_DIR}
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_BINARY_DIR}/include
${CMAKE_SOURCE_DIR}/mkspecs/linux-g++-64
${CMAKE_SOURCE_DIR}/src/sql/drivers/cache
${PostgreSQL_INCLUDE_DIRS}
${MYSQL_INCLUDE_DIRS}
${ODBC_INCLUDE_DIRS}
${FBCLIENT_INCLUDE_DIRS}
${SQLITE3_INCLUDE_DIRS}
)
link_directories()
##### sql (static)
set( target sql )
set( _SRC_ qsqlquery.cpp
qsqldatabase.cpp
qsqlfield.cpp
qsqlrecord.cpp
qsqlform.cpp
qsqlcursor.cpp
qeditorfactory.cpp
qsqleditorfactory.cpp
qsqldriver.cpp
qsqlextension_p.cpp
qsqldriverplugin.cpp
qsqlerror.cpp
qsqlresult.cpp
qsqlindex.cpp
qsqlpropertymap.cpp
qsqlmanager_p.cpp
qdatatable.cpp
qdataview.cpp
qdatabrowser.cpp
qsqlselectcursor.cpp
./drivers/cache/qsqlcachedresult.cpp
)
set( _PSQL_src drivers/psql/qsql_psql.cpp )
set( _MYSQL_src drivers/mysql/qsql_mysql.cpp )
set( _ODBC_src drivers/odbc/qsql_odbc.cpp )
set( _IBASE_src drivers/ibase/qsql_ibase.cpp )
set( _SQLITE_src drivers/sqlite/qsql_sqlite.cpp )
set( _SQLITE3_src drivers/sqlite3/qsql_sqlite3.cpp )
set( _PSQL_libraries ${PostgreSQL_LIBRARIES} )
set( _MYSQL_libraries ${MYSQL_LIBRARIES} )
set( _ODBC_libraries ${ODBC_LIBRARIES} )
set( _IBASE_libraries ${FBCLIENT_LIBRARIES} )
set( _SQLITE_libraries ${SQLITE_LIBRARIES} )
set( _SQLITE3_libraries ${SQLITE3_LIBRARIES} )
set( _PSQL_flag "QT_SQL_POSTGRES" )
set( _MYSQL_flag "QT_SQL_MYSQL" )
set( _ODBC_flag "QT_SQL_ODBC" )
set( _IBASE_flag "QT_SQL_IBASE" )
set( _SQLITE_flag "QT_SQL_SQLITE" )
set( _SQLITE3_flag "QT_SQL_SQLITE3" )
unset( _sql_libraries )
unset( _sql_driver_flags )
foreach(_driver PSQL MYSQL ODBC IBASE SQLITE SQLITE3)
if( BUILD_SQL_PLUGIN_${_driver} )
string( TOLOWER "q${_driver}" _plugin_lib )
tde_add_library( ${_plugin_lib} SHARED
SOURCES ${_${_driver}_src}
LINK tqt-mt-shared ${_${_driver}_libraries}
DESTINATION "${QT_INSTALL_PLUGINS}/sqldrivers"
)
tqt_automoc( ${_plugin_lib}-shared )
elseif( WITH_SQL_DRIVER_${_driver})
list( APPEND _SRC_ ${_${_driver}_src} )
list( APPEND _sql_driver_flags ${_${_driver}_flag} )
list( APPEND _sql_libraries ${_${_driver}_libraries} )
endif()
endforeach()
tde_add_library( ${target} STATIC_PIC
SOURCES
${_SRC_}
LINK
${_sql_libraries}
DEPENDENCIES
tqt-includes
)
tqt_automoc( ${target}-static )
list( APPEND tqtlib_embed ${target}-static )
set( tqtlib_embed ${tqtlib_embed} PARENT_SCOPE )
set_property( TARGET ${target}-static
APPEND PROPERTY COMPILE_DEFINITIONS
${NO_XCURSOR} TQT_NO_MESSAGEBOX
${_sql_driver_flags}
)
set_property( SOURCE qsql_psql.h APPEND PROPERTY COMPILE_DEFINITIONS QT_PLUGIN )