comparison Resources/CMake/SQLiteConfiguration.cmake @ 2302:f31dfb131dee

fix backward compatibility with SQLite < 3.19.0
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 10 Jul 2017 11:27:55 +0200
parents 8b51b133bb8b
children 741bb76634d3
comparison
equal deleted inserted replaced
2301:bde58ce4b41c 2302:f31dfb131dee
16 16
17 if (SQLITE_STATIC) 17 if (SQLITE_STATIC)
18 SET(SQLITE_SOURCES_DIR ${CMAKE_BINARY_DIR}/sqlite-amalgamation-3071300) 18 SET(SQLITE_SOURCES_DIR ${CMAKE_BINARY_DIR}/sqlite-amalgamation-3071300)
19 SET(SQLITE_MD5 "5fbeff9645ab035a1f580e90b279a16d") 19 SET(SQLITE_MD5 "5fbeff9645ab035a1f580e90b279a16d")
20 SET(SQLITE_URL "http://www.orthanc-server.com/downloads/third-party/sqlite-amalgamation-3071300.zip") 20 SET(SQLITE_URL "http://www.orthanc-server.com/downloads/third-party/sqlite-amalgamation-3071300.zip")
21
22 add_definitions(-DORTHANC_SQLITE_VERSION=3007013)
21 23
22 DownloadPackage(${SQLITE_MD5} ${SQLITE_URL} "${SQLITE_SOURCES_DIR}") 24 DownloadPackage(${SQLITE_MD5} ${SQLITE_URL} "${SQLITE_SOURCES_DIR}")
23 25
24 set(SQLITE_SOURCES 26 set(SQLITE_SOURCES
25 ${SQLITE_SOURCES_DIR}/sqlite3.c 27 ${SQLITE_SOURCES_DIR}/sqlite3.c
50 ) 52 )
51 message("SQLite include dir: ${SQLITE_INCLUDE_DIR}") 53 message("SQLite include dir: ${SQLITE_INCLUDE_DIR}")
52 54
53 # Autodetection of the version of SQLite 55 # Autodetection of the version of SQLite
54 file(STRINGS "${SQLITE_INCLUDE_DIR}/sqlite3.h" SQLITE_VERSION_NUMBER1 REGEX "#define SQLITE_VERSION_NUMBER.*$") 56 file(STRINGS "${SQLITE_INCLUDE_DIR}/sqlite3.h" SQLITE_VERSION_NUMBER1 REGEX "#define SQLITE_VERSION_NUMBER.*$")
55 string(REGEX REPLACE "#define SQLITE_VERSION_NUMBER(.*)$" "\\1" SQLITE_VERSION_NUMBER ${SQLITE_VERSION_NUMBER1}) 57 string(REGEX REPLACE "#define SQLITE_VERSION_NUMBER(.*)$" "\\1" SQLITE_VERSION_NUMBER2 ${SQLITE_VERSION_NUMBER1})
58
59 # Remove the trailing spaces to convert the string to a proper integer
60 string(STRIP ${SQLITE_VERSION_NUMBER2} SQLITE_VERSION_NUMBER)
56 61
57 message("Detected version of SQLite: ${SQLITE_VERSION_NUMBER}") 62 message("Detected version of SQLite: ${SQLITE_VERSION_NUMBER}")
58 63
59 IF (${SQLITE_VERSION_NUMBER} LESS 3007000) 64 IF (${SQLITE_VERSION_NUMBER} LESS 3007000)
60 # "sqlite3_create_function_v2" is not defined in SQLite < 3.7.0 65 # "sqlite3_create_function_v2" is not defined in SQLite < 3.7.0
61 message(FATAL_ERROR "SQLite version must be above 3.7.0. Please set the CMake variable USE_SYSTEM_SQLITE to OFF.") 66 message(FATAL_ERROR "SQLite version must be above 3.7.0. Please set the CMake variable USE_SYSTEM_SQLITE to OFF.")
62 ENDIF() 67 ENDIF()
63 68
69 add_definitions(-DORTHANC_SQLITE_VERSION=${SQLITE_VERSION_NUMBER})
70
64 link_libraries(sqlite3) 71 link_libraries(sqlite3)
65 endif() 72 endif()