mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-05 10:05:03 +00:00
Fix SQLite support for CMake users.
FindPkgConfig obviously uses pkg-config's output for setting convenient variables such as <PREFIX>_LIBRARIES or <PREFIX>_INCLUDE_DIRS. It also sets <PREFIX>_FOUND to 1 if <PREFIX> module exists. So why checking for SQLITE3_FOUND is better than (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)? Apart from obvious readability factor, latter condition has strong assumption that both variables are filled with appropriate paths, which is unjustifiable unless you add another assumptions... pkg-config by default strips -I/usr/include from Cflags and -L/usr/lib from Libs if some environment variables are not set, PKG_CONFIG_ALLOW_SYSTEM_CFLAGS and PKG_CONFIG_ALLOW_SYSTEM_LIBS respectively. This behavior is sane, because it prevents polluting the compilation and linking commands with superfluous entries. In debian SQLITE3_INCLUDE_DIRS is empty for instance. Remark for developers: Always check commands invoked by CMake after changing CMakeLists.txt. VERBOSE=1 cmake --build .
This commit is contained in:
parent
122c340583
commit
911fd45792
@ -39,7 +39,7 @@ IF (NOT WIN32)
|
||||
pkg_check_modules(SQLITE3 sqlite3)
|
||||
ENDIF ()
|
||||
|
||||
IF (SQLITE3_LIBRARIES AND SQLITE3_INCLUDE_DIRS)
|
||||
IF (SQLITE3_FOUND)
|
||||
ADD_DEFINITIONS(-DGIT2_SQLITE_BACKEND)
|
||||
INCLUDE_DIRECTORIES(${SQLITE3_INCLUDE_DIRS})
|
||||
ENDIF ()
|
||||
|
Loading…
Reference in New Issue
Block a user