Skip to content

Commit

Permalink
Add cmake cache var to allow for use of system sqlite
Browse files Browse the repository at this point in the history
Signed-off-by: Nicholas Frizzell <nfrizzel@redhat.com>
  • Loading branch information
nicholas-rh committed Jul 28, 2023
1 parent 773654d commit 74a6bc1
Showing 1 changed file with 30 additions and 18 deletions.
48 changes: 30 additions & 18 deletions package-system/sqlite/FindSQLite.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,38 @@
#
#

# this file actually ingests the library and defines targets.
set(TARGET_WITH_NAMESPACE "3rdParty::SQLite")
set(MY_NAME "SQLite")
set(TARGET_WITH_NAMESPACE "3rdParty::${MY_NAME}")
if (TARGET ${TARGET_WITH_NAMESPACE})
return()
endif()

set(MY_NAME "SQLite")


set(${MY_NAME}_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/SQLite)
set(${MY_NAME}_LIBS_DIR ${CMAKE_CURRENT_LIST_DIR}/SQLite/lib)
set(${MY_NAME}_LIBRARY ${${MY_NAME}_LIBS_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}sqlite3${CMAKE_STATIC_LIBRARY_SUFFIX})

add_library(${TARGET_WITH_NAMESPACE} STATIC IMPORTED GLOBAL)
if (LY_SYSTEM_PACKAGE_${MY_NAME})

find_package(SQLite3)
if (NOT SQLite3_FOUND)
message(FATAL_ERROR "LY_SYSTEM_PACKAGE_${MY_NAME} specified but development files for ${MY_NAME} not found.")
else()
set_target_properties(SQLite::SQLite3 PROPERTIES LY_SYSTEM_LIBRARY TRUE)
add_library(${TARGET_WITH_NAMESPACE} ALIAS SQLite::SQLite3)
set(${MY_NAME}_FOUND True)
endif()

else()

set(${MY_NAME}_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/SQLite)
set(${MY_NAME}_LIBS_DIR ${CMAKE_CURRENT_LIST_DIR}/SQLite/lib)
set(${MY_NAME}_LIBRARY ${${MY_NAME}_LIBS_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}sqlite3${CMAKE_STATIC_LIBRARY_SUFFIX})

add_library(${TARGET_WITH_NAMESPACE} STATIC IMPORTED GLOBAL)

set_target_properties(${TARGET_WITH_NAMESPACE} PROPERTIES IMPORTED_LOCATION "${${MY_NAME}_LIBRARY}")

ly_target_include_system_directories(TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_INCLUDE_DIR})

target_link_libraries(${TARGET_WITH_NAMESPACE}
INTERFACE ${CMAKE_DL_LIBS})

set(${MY_NAME}_FOUND True)

set_target_properties(${TARGET_WITH_NAMESPACE} PROPERTIES IMPORTED_LOCATION "${${MY_NAME}_LIBRARY}")

ly_target_include_system_directories(TARGET ${TARGET_WITH_NAMESPACE} INTERFACE ${${MY_NAME}_INCLUDE_DIR})

target_link_libraries(${TARGET_WITH_NAMESPACE}
INTERFACE ${CMAKE_DL_LIBS})

set(${MY_NAME}_FOUND True)
endif()

0 comments on commit 74a6bc1

Please sign in to comment.