Warning, /libraries/kdb/src/drivers/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 if(COMMAND cmake_policy) 0002 cmake_policy(SET CMP0003 NEW) 0003 cmake_policy(SET CMP0005 NEW) 0004 endif() 0005 0006 #TODO add_definitions(-DKDE_DEFAULT_DEBUG_AREA=44001) 0007 0008 set(KDB_PLUGIN_INSTALL_DIR ${KDE_INSTALL_PLUGINDIR}/${KDB_BASE_NAME_LOWER}) 0009 0010 # Instruct automoc about C++ preprocessor macros used to define Qt-style plugins: 0011 ecm_setup_qtplugin_macro_names( 0012 JSON_ARG2 0013 KDB_DRIVER_PLUGIN_FACTORY 0014 ) 0015 0016 # ----------------------- 0017 macro(build_and_install_kdb_driver _name _srcs _extra_libs) 0018 set(_target kdb_${_name}driver) 0019 ecm_create_qm_loader(_srcs ${_target}_qt) 0020 add_library(${_target} MODULE ${_srcs}) 0021 0022 target_link_libraries(${_target} 0023 PUBLIC 0024 KDb 0025 PRIVATE 0026 ${_extra_libs} 0027 ) 0028 # Needed for examples and autotests: 0029 set_target_properties(${_target} 0030 PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/plugins/${KDB_BASE_NAME_LOWER}") 0031 install(TARGETS ${_target} DESTINATION ${KDB_PLUGIN_INSTALL_DIR}) 0032 endmacro() 0033 # ----------------------- 0034 0035 # find SQLite: 0036 set(SQLITE_MIN_VERSION 3.6.16) 0037 set(SQLITE_RECOMMENDED_VERSION 3.28.0) 0038 set(SQLITE_LOAD_EXTENSION_REQUIRED ON) 0039 set(BUILD_SQLITE_DB_DRIVER_DESC "SQLite database driver") 0040 find_package(Sqlite ${SQLITE_MIN_VERSION}) 0041 set_package_properties(Sqlite PROPERTIES TYPE RECOMMENDED 0042 PURPOSE "Required by ${BUILD_SQLITE_DB_DRIVER_DESC}") 0043 0044 if(Sqlite_FOUND) 0045 ecm_optional_add_subdirectory(sqlite) 0046 else() 0047 add_feature_info(BUILD_SQLITE_DB_DRIVER FALSE "${BUILD_SQLITE_DB_DRIVER_DESC} (because SQLite3 not found)") 0048 message(STATUS "WARNING: Because of that ${BUILD_SQLITE_DB_DRIVER_DESC} will not be built.") 0049 endif() 0050 0051 # ----------------------- 0052 0053 set(BUILD_MYSQL_DB_DRIVER_DESC "MySQL database driver") 0054 find_package(MySQL) 0055 set_package_properties(MySQL PROPERTIES TYPE RECOMMENDED 0056 PURPOSE "Required by ${BUILD_MYSQL_DB_DRIVER_DESC}") 0057 if(MySQL_FOUND) 0058 ecm_optional_add_subdirectory(mysql) 0059 else() 0060 add_feature_info(BUILD_MYSQL_DB_DRIVER FALSE "${BUILD_MYSQL_DB_DRIVER_DESC} (because MySQL Client Library not found)") 0061 endif() 0062 0063 # ----------------------- 0064 0065 set(BUILD_POSTGRESQL_DB_DRIVER_DESC "PostgreSQL database driver") 0066 find_package(PostgreSQL) 0067 set_package_properties(PostgreSQL PROPERTIES TYPE RECOMMENDED 0068 PURPOSE "Required by ${BUILD_POSTGRESQL_DB_DRIVER_DESC}") 0069 if(PostgreSQL_FOUND) 0070 ecm_optional_add_subdirectory(postgresql) 0071 else() 0072 add_feature_info(BUILD_POSTGRESQL_DB_DRIVER FALSE "${BUILD_POSTGRESQL_DB_DRIVER_DESC} (because C API to PostgreSQL not found)") 0073 endif() 0074 0075 #set(BUILD_SYBASE_DB_DRIVER_DESC "Sybase/MSSQL database driver") 0076 #find_package(FreeTDS) 0077 #set_package_properties(FreeTDS PROPERTIES 0078 # DESCRIPTION "Open source implementation of the TDS (Tabular Data Stream) protocol" 0079 # URL "https://www.freetds.org" 0080 # TYPE OPTIONAL 0081 # PURPOSE "Required by ${BUILD_SYBASE_DB_DRIVER_DESC}" 0082 #) 0083 #if(FreeTDS_FOUND) 0084 # ecm_optional_add_subdirectory(sybase) 0085 #else() 0086 # add_feature_info(BUILD_SYBASE_DB_DRIVER FALSE "${BUILD_SYBASE_DB_DRIVER_DESC} (because FreeTDS protocol implementation not found)") 0087 #endif() 0088 0089 #set(BUILD_XBASE_DB_DRIVER_DESC "xBase database driver") 0090 #find_package(XBase) 0091 #set_package_properties(XBase PROPERTIES 0092 # DESCRIPTION "XBase compatible C++ class library" 0093 # URL "https://linux.techass.com/projects/xdb" 0094 # TYPE OPTIONAL 0095 # PURPOSE "Required by ${BUILD_XBASE_DB_DRIVER_DESC}" 0096 #) 0097 #if(XBASE_FOUND) 0098 # ecm_optional_add_subdirectory(xbase) 0099 #else() 0100 # add_feature_info(BUILD_XBASE_DB_DRIVER FALSE "${BUILD_XBASE_DB_DRIVER_DESC} (because XBase compatible C++ class library not found)") 0101 #endif()