1
0
Fork 0

Allow use of the system's SQLite3 library.

Keep distro packagers happy by having the option to use the system's sqlite library instead of our bundled version. Set SYSTEM_SQLITE=1 when running cmake to use the system one.
This commit is contained in:
James Turner 2012-09-19 14:28:25 +01:00
parent 9b900e9430
commit 50c61b4211
5 changed files with 56 additions and 2 deletions

View file

@ -105,6 +105,7 @@ option(EVENT_INPUT "Set to ON to build FlightGear with event-based Input s
option(ENABLE_LIBSVN "Set to ON to build FlightGear/terrasync with libsvnclient support (default)" ON)
option(ENABLE_RTI "Set to ON to build FlightGear with RTI support" OFF)
option(JPEG_FACTORY "Set to ON to build FlightGear with JPEG-factory support" OFF)
option(SYSTEM_SQLITE "Set to ON to build FlightGear with the system's SQLite3 library" OFF)
# additional utilities
option(ENABLE_FGADMIN "Set to ON to build the FGADMIN application (default)" ON)
@ -182,6 +183,12 @@ if(ENABLE_LIBSVN)
endif(LIBSVN_FOUND)
endif(ENABLE_LIBSVN)
if (SYSTEM_SQLITE)
find_package(SQLite3 REQUIRED)
set(CMAKE_REQUIRED_INCLUDES ${SQLITE3_INCLUDED_DIR})
message(STATUS "Using system SQLite3 library")
endif (SYSTEM_SQLITE)
find_package(PLIB REQUIRED puaux pu js fnt)
# FlightGear and SimGear versions need to match

View file

@ -0,0 +1,41 @@
# Find Sqlite3
# ~~~~~~~~~~~~
# Copyright (c) 2007, Martin Dobias <wonder.sk at gmail.com>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
# CMake module to search for Sqlite3 library
#
# If it's found it sets SQLITE3_FOUND to TRUE
# and following variables are set:
# SQLITE3_INCLUDE_DIR
# SQLITE3_LIBRARY
# FIND_PATH and FIND_LIBRARY normally search standard locations
# before the specified paths. To search non-standard paths first,
# FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
# and then again with no specified paths to search the default
# locations. When an earlier FIND_* succeeds, subsequent FIND_*s
# searching for the same item do nothing.
FIND_PATH(SQLITE3_INCLUDE_DIR sqlite3.h
PATH_SUFFIXES include
HINTS $ENV{SQLITE3DIR}
PATHS
/usr/local
/usr
/opt/local
)
FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3 sqlite3
HINTS $ENV{SQLITE3DIR}
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
PATHS
/usr/local
/usr
/opt/local
)
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLITE3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR)

View file

@ -37,3 +37,5 @@
#cmakedefine FG_HAVE_HLA
#cmakedefine FG_JPEG_SERVER
#cmakedefine SYSTEM_SQLITE

View file

@ -98,6 +98,7 @@ target_link_libraries(fgfs
${PLIB_LIBRARIES}
${JPEG_LIBRARY}
${HLA_LIBRARIES}
${SQLITE3_LIBRARY}
${EVENT_INPUT_LIBRARIES}
${SIMGEAR_CORE_LIBRARY_DEPENDENCIES}
${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES}

View file

@ -15,7 +15,6 @@ set(SOURCES
LevelDXML.cxx
FlightPlan.cxx
NavDataCache.cxx
sqlite3.c
PositionedOctree.cxx
)
@ -34,8 +33,12 @@ set(HEADERS
LevelDXML.hxx
FlightPlan.hxx
NavDataCache.hxx
sqlite3.h
PositionedOctree.hxx
)
if (NOT SYSTEM_SQLITE)
list(APPEND SOURCES sqlite3.c)
list(APPEND HEADERS sqlite3.h)
endif()
flightgear_component(Navaids "${SOURCES}" "${HEADERS}")