Skip to content

Commit 957a2f0

Browse files
committed
Try to fix find sqlite3 cmake
1 parent 09b4e8a commit 957a2f0

File tree

1 file changed

+41
-29
lines changed

1 file changed

+41
-29
lines changed

cmake/modules/FindSQLite3.cmake

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,9 @@ else()
5555
PATHS ${SQLITE3_INCLUDE_SEARCH_PATHS})
5656
endif()
5757

58-
IF (NOT SQLITE3_INCLUDE_DIR)
59-
MESSAGE(WARNING "Could not find sqlite3.h in ${SQLITE3_INCLUDE_SEARCH_PATHS}")
60-
ENDIF (NOT SQLITE3_INCLUDE_DIR)
58+
if(NOT SQLITE3_INCLUDE_DIR)
59+
message(WARNING "Could not find sqlite3.h in ${SQLITE3_INCLUDE_SEARCH_PATHS}")
60+
endif()
6161

6262
set(SQLITE3_NAMES sqlite3_i sqlite3)
6363

@@ -75,34 +75,46 @@ else()
7575
PATHS ${SQLITE3_LIB_SEARCH_PATHS})
7676
endif()
7777

78-
set(SQLITE3_LIBRARIES
79-
${SQLITE3_LIBRARIES}
80-
${SQLITE3_LIBRARY})
81-
82-
# Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE
83-
# if all listed variables are TRUE
84-
include(FindPackageHandleStandardArgs)
85-
find_package_handle_standard_args(SQLite3
86-
DEFAULT_MSG
87-
SQLITE3_LIBRARIES
88-
SQLITE3_INCLUDE_DIR)
78+
set(SQLITE3_LIBRARIES ${SQLITE3_LIBRARIES} ${SQLITE3_LIBRARY})
8979

90-
mark_as_advanced(SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR SQLITE3_LIBRARIES)
80+
check_library_exists("${SQLITE3_LIBRARY}" sqlite3_deserialize "" SQLITE3_DESERIALIZE)
81+
if(NOT SQLITE3_DESERIALIZE)
82+
message(WARNING "Found sqlite, but the sqlite3_deserialize is disabled")
83+
endif()
9184

92-
if(NOT SQLite3_FIND_QUIETLY)
93-
message(STATUS "Found SQLite3: ${SQLITE3_LIBRARY}")
94-
endif(NOT SQLite3_FIND_QUIETLY)
85+
check_library_exists("${SQLITE3_LIBRARY}" sqlite3_serialize "" SQLITE3_SERIALIZE)
86+
if(NOT SQLITE3_SERIALIZE)
87+
message(WARNING "Found sqlite, but the sqlite3_serialize is disabled")
88+
endif()
9589

9690
check_library_exists("${SQLITE3_LIBRARY}" sqlite3_enable_load_extension "" SQLITE3_LOAD_EXTENSION)
97-
IF (NOT SQLITE3_LOAD_EXTENSION)
98-
if (APPLE)
99-
MESSAGE(WARNING "Found sqlite, but the sqlite3_enable_load_extension is disabled. On macOS, you should `brew install sqlite3` as the system sqlite3 library disables extension loading by default for security reasons.")
100-
else()
101-
MESSAGE(WARNING "Found sqlite, but the sqlite3_enable_load_extension is disabled")
102-
endif()
103-
ENDIF (NOT SQLITE3_LOAD_EXTENSION)
91+
if(NOT SQLITE3_LOAD_EXTENSION)
92+
if(APPLE)
93+
message(WARNING "Found sqlite, but the sqlite3_enable_load_extension is disabled. On macOS, you should `brew install sqlite3` as the system sqlite3 library disables extension loading by default for security reasons.")
94+
else()
95+
message(WARNING "Found sqlite, but the sqlite3_enable_load_extension is disabled")
96+
endif()
97+
endif()
10498

105-
add_library(SQLite::SQLite3 INTERFACE IMPORTED)
106-
set_target_properties(SQLite::SQLite3 PROPERTIES
107-
INTERFACE_LINK_LIBRARIES "${SQLITE3_LIBRARIES}"
108-
INTERFACE_INCLUDE_DIRECTORIES "${SQLITE3_INCLUDE_DIR}")
99+
if(NOT SQLITE3_DESERIALIZE OR NOT SQLITE3_SERIALIZE)
100+
unset(SQLITE3_LIBRARY)
101+
unset(SQLITE3_LIBRARIES)
102+
# mark_as_advanced(CLEAR SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR SQLITE3_LIBRARIES)
103+
else()
104+
# Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE
105+
# if all listed variables are TRUE
106+
include(FindPackageHandleStandardArgs)
107+
find_package_handle_standard_args(SQLite3 DEFAULT_MSG SQLITE3_LIBRARIES SQLITE3_INCLUDE_DIR)
108+
mark_as_advanced(SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR SQLITE3_LIBRARIES)
109+
110+
if(NOT SQLite3_FIND_QUIETLY)
111+
message(STATUS "Found SQLite3: ${SQLITE3_LIBRARY}")
112+
endif()
113+
114+
add_library(SQLite::SQLite3 INTERFACE IMPORTED)
115+
set_target_properties(SQLite::SQLite3
116+
PROPERTIES
117+
INTERFACE_LINK_LIBRARIES "${SQLITE3_LIBRARIES}"
118+
INTERFACE_INCLUDE_DIRECTORIES "${SQLITE3_INCLUDE_DIR}"
119+
)
120+
endif()

0 commit comments

Comments
 (0)