@cpp.js/package-expat
Version:
This package provides the precompiled Expat XML parser library, built using Cpp.js, for seamless integration into JavaScript, WebAssembly, and React Native projects. It enables fast and efficient parsing of XML data, making it ideal for applications requi
45 lines (40 loc) • 1.46 kB
Plain Text
cmake_minimum_required(VERSION 3.28)
set(CMAKE_CXX_STANDARD 11)
set(PROJECT_NAME "expat")
set(PROJECT_LIBS "expat")
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()