リビジョン | 4d113d0358518f2320b9340173012010d682f986 (tree) |
---|---|
日時 | 2016-04-02 23:58:57 |
作者 | Edoardo Prezioso <edo88@emai...> |
コミッター | Edoardo Prezioso |
Changes by feedback.
@@ -4,27 +4,22 @@ | ||
4 | 4 | set( ZAN_SQLITE_VERSION 3081001 ) # SQL version 3.8.10.1 |
5 | 5 | set( ZAN_SQLITE_YEAR 2015 ) |
6 | 6 | set( ZAN_SQLITE_SHA1 "86bfed5752783fb24c051f3efac5972ce11023f0" ) |
7 | -set( ZAN_SQLITE_ARCHIVE ${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz ) | |
8 | - | |
9 | -message( STATUS "SQLite: checking if the archive must be downloaded..." ) | |
7 | +set( ZAN_SQLITE_DOWNLOAD_NAME "sqlite-autoconf-${ZAN_SQLITE_VERSION}" ) | |
8 | +set( ZAN_SQLITE_TEMP_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz" ) | |
9 | +set( ZAN_SQLITE_HASHED_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz" ) | |
10 | 10 | |
11 | -# The download from the website proceeds only if the archive does not exist or has a different hash. | |
12 | -set( ZAN_HAD_SQLITE_ARCHIVE ON ) | |
13 | -if( NOT EXISTS ${ZAN_SQLITE_ARCHIVE} ) | |
14 | - set( ZAN_HAD_SQLITE_ARCHIVE OFF ) | |
15 | -elseif( IS_DIRECTORY ${ZAN_SQLITE_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_ARCHIVE} ) | |
16 | - message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_ARCHIVE} must be a valid file.\n" | |
11 | +if( IS_DIRECTORY ${ZAN_SQLITE_HASHED_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_HASHED_ARCHIVE} ) | |
12 | + message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_HASHED_ARCHIVE} must be a valid file.\n" | |
17 | 13 | "SQLite: Please remove it and try again." ) |
18 | -else() | |
19 | - file( SHA1 ${ZAN_SQLITE_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 ) | |
20 | - if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 ) | |
21 | - set( ZAN_HAD_SQLITE_ARCHIVE OFF ) | |
14 | +elseif( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} ) | |
15 | + | |
16 | + if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} ) | |
17 | + message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n" | |
18 | + "SQLite: Please remove it and try again." ) | |
22 | 19 | endif() |
23 | -endif() | |
20 | + message( STATUS "SQLite: downloading the archive..." ) | |
24 | 21 | |
25 | -if( NOT ZAN_HAD_SQLITE_ARCHIVE ) | |
26 | - message( STATUS "SQLite: downloading the archive..." ) | |
27 | - file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/sqlite-autoconf-${ZAN_SQLITE_VERSION}.tar.gz ${ZAN_SQLITE_ARCHIVE} | |
22 | + file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE} | |
28 | 23 | SHOW_PROGRESS |
29 | 24 | STATUS ZAN_SQLITE_DOWNLOAD_STATUS ) |
30 | 25 |
@@ -36,29 +31,30 @@ | ||
36 | 31 | endif() |
37 | 32 | |
38 | 33 | # Check the hash. Abort immediately if it's not valid (something is wrong with the download) |
39 | - file( SHA1 ${ZAN_SQLITE_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 ) | |
34 | + file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 ) | |
40 | 35 | if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 ) |
41 | - message( FATAL_ERROR "SQLite: download failed. The downloaded file has different hash:\n" | |
36 | + message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n" | |
42 | 37 | "SQLite: valid: ${ZAN_SQLITE_SHA1}\n" |
43 | 38 | "SQLite: downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" ) |
44 | 39 | endif() |
45 | 40 | |
46 | 41 | message( STATUS "SQLite: saving the source files into the 'sqlite' directory." ) |
47 | 42 | |
43 | + # Rename the archive. | |
44 | + execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} ) | |
45 | + | |
48 | 46 | # Extract the archive. |
49 | - execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) | |
47 | + execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_HASHED_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) | |
50 | 48 | |
51 | 49 | # Copy the required files. |
52 | - execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/sqlite-autoconf-${ZAN_SQLITE_VERSION}/sqlite3.c ${CMAKE_CURRENT_SOURCE_DIR} ) | |
53 | - execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/sqlite-autoconf-${ZAN_SQLITE_VERSION}/sqlite3.h ${CMAKE_CURRENT_SOURCE_DIR} ) | |
54 | - execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/sqlite-autoconf-${ZAN_SQLITE_VERSION}/sqlite3ext.h ${CMAKE_CURRENT_SOURCE_DIR} ) | |
50 | + execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.c ${CMAKE_CURRENT_SOURCE_DIR} ) | |
51 | + execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.h ${CMAKE_CURRENT_SOURCE_DIR} ) | |
52 | + execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3ext.h ${CMAKE_CURRENT_SOURCE_DIR} ) | |
55 | 53 | |
56 | 54 | # Remove the extracted folder. |
57 | - execute_process( COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/sqlite-autoconf-${ZAN_SQLITE_VERSION} ) | |
55 | + execute_process( COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME} ) | |
58 | 56 | |
59 | 57 | message( STATUS "SQLite: done." ) |
60 | -else() | |
61 | - message( STATUS "SQLite: nothing to download." ) | |
62 | 58 | endif() |
63 | 59 | |
64 | 60 | add_library( sqlite3 sqlite3.c ) |