CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. # Sources
  2. file(GLOB SRCS_G "src/*.cpp")
  3. POCO_SOURCES_AUTO( SQLITE_SRCS ${SRCS_G})
  4. # Headers
  5. file(GLOB_RECURSE HDRS_G "include/*.h" )
  6. POCO_HEADERS_AUTO( SQLITE_SRCS ${HDRS_G})
  7. if (POCO_UNBUNDLED)
  8. find_package(SQLite3 REQUIRED)
  9. else()
  10. # sqlite3
  11. POCO_SOURCES( SQLITE_SRCS sqlite3
  12. src/sqlite3.c
  13. )
  14. POCO_HEADERS( SQLITE_SRCS sqlite3
  15. src/sqlite3.h
  16. )
  17. endif()
  18. # Version Resource
  19. if(MSVC AND NOT POCO_STATIC)
  20. source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
  21. list(APPEND SQLITE_SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
  22. endif()
  23. add_library(DataSQLite ${SQLITE_SRCS} )
  24. add_library(Poco::DataSQLite ALIAS DataSQLite)
  25. set_target_properties(DataSQLite
  26. PROPERTIES
  27. VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION}
  28. OUTPUT_NAME PocoDataSQLite
  29. DEFINE_SYMBOL SQLite_EXPORTS
  30. )
  31. target_link_libraries(DataSQLite PUBLIC Poco::Data)
  32. target_include_directories(DataSQLite
  33. PUBLIC
  34. $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
  35. $<INSTALL_INTERFACE:include>
  36. PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
  37. )
  38. if(POCO_UNBUNDLED)
  39. target_link_libraries(DataSQLite PUBLIC SQLite::SQLite3)
  40. target_compile_definitions(DataSQLite PUBLIC POCO_UNBUNDLED)
  41. else()
  42. if(WINCE)
  43. target_compile_definitions(DataSQLite PRIVATE SQLITE_MSVC_LOCALTIME_API)
  44. endif(WINCE)
  45. target_compile_definitions(DataSQLite PRIVATE
  46. SQLITE_THREADSAFE=1
  47. SQLITE_DISABLE_LFS
  48. SQLITE_OMIT_UTF16
  49. SQLITE_OMIT_PROGRESS_CALLBACK
  50. SQLITE_OMIT_COMPLETE
  51. SQLITE_OMIT_TCL_VARIABLE
  52. SQLITE_OMIT_DEPRECATED
  53. )
  54. endif()
  55. POCO_INSTALL(DataSQLite)
  56. POCO_GENERATE_PACKAGE(DataSQLite)
  57. if (ENABLE_TESTS)
  58. add_subdirectory(testsuite)
  59. endif ()