@cpp.js/package-spatialite
Version:
This package provides SpatiaLite, a spatial extension to SQLite, compiled with Cpp.js for seamless integration in JavaScript, WebAssembly and React Native environments. By using Cpp.js, this package enables high-performance spatial database operations bot
45 lines (40 loc) • 1.47 kB
Plain Text
cmake_minimum_required(VERSION 3.28)
set(CMAKE_CXX_STANDARD 11)
set(PROJECT_NAME "spatialite")
set(PROJECT_LIBS "spatialite")
project("${PROJECT_NAME}")
if(ANDROID)
set(PACKAGE_HOST "${CMAKE_SYSTEM_NAME}-${CMAKE_ANDROID_ARCH_ABI}")
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/lib")
elseif(APPLE)
if (CMAKE_SYSTEM_NAME STREQUAL "iOS")
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/../..")
else()
set(PACKAGE_HOST "${CMAKE_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}")
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/lib")
endif()
elseif(UNIX)
set(PACKAGE_HOST "${CMAKE_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}")
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/lib")
else()
set(PACKAGE_HOST "${CMAKE_SYSTEM_NAME}-${CMAKE_HOST_SYSTEM_PROCESSOR}")
set(PACKAGE_DIR "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/lib")
endif()
set(PROJECT_LIBS_DIR)
foreach(L IN LISTS PROJECT_LIBS)
SET(FOUND_LIB "FOUND_LIB-NOTFOUND")
find_library(FOUND_LIB
NAMES "${L}"
PATHS "${PACKAGE_DIR}"
NO_CACHE
NO_DEFAULT_PATH
NO_CMAKE_FIND_ROOT_PATH
REQUIRED
)
LIST(APPEND PROJECT_LIBS_DIR ${FOUND_LIB})
endforeach()
add_library("${PROJECT_NAME}" INTERFACE)
target_link_libraries("${PROJECT_NAME}" INTERFACE "${PROJECT_LIBS_DIR}")
if(NOT APPLE)
target_include_directories("${PROJECT_NAME}" INTERFACE "${PROJECT_SOURCE_DIR}/${PACKAGE_HOST}/include")
endif()