diff options
Diffstat (limited to 'vcpkg/ports/mujs')
| -rw-r--r-- | vcpkg/ports/mujs/CMakeLists.txt | 61 | ||||
| -rw-r--r-- | vcpkg/ports/mujs/mujs.pc | 11 | ||||
| -rw-r--r-- | vcpkg/ports/mujs/portfile.cmake | 30 | ||||
| -rw-r--r-- | vcpkg/ports/mujs/usage | 6 | ||||
| -rw-r--r-- | vcpkg/ports/mujs/vcpkg.json | 17 |
5 files changed, 125 insertions, 0 deletions
diff --git a/vcpkg/ports/mujs/CMakeLists.txt b/vcpkg/ports/mujs/CMakeLists.txt new file mode 100644 index 0000000..6a30cf3 --- /dev/null +++ b/vcpkg/ports/mujs/CMakeLists.txt @@ -0,0 +1,61 @@ +cmake_minimum_required(VERSION 3.25) +project(mujs C) + +set(LINK_LIBRARIES "") +set(PC_LIBS_PRIVATE "") + +if(MSVC) + add_compile_options(/W3 /wd4005 /wd4996 /wd4018 -D_CRT_SECURE_NO_WARNINGS) +else() + find_library(HAVE_LIBM NAMES m) + if(HAVE_LIBM) + list(APPEND LINK_LIBRARIES m) + string(APPEND PC_LIBS_PRIVATE " -lm") + endif() +endif() + +file(GLOB mujs_sources js*.c utf*.c regexp.c) + +add_library(mujs ${mujs_sources}) + +target_include_directories(mujs + PUBLIC + "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>" + "$<INSTALL_INTERFACE:include>" +) + +target_link_libraries(mujs PRIVATE ${LINK_LIBRARIES}) + +install( + TARGETS mujs + EXPORT unofficial-mujs-targets + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib +) +install( + EXPORT unofficial-mujs-targets + FILE unofficial-mujs-config.cmake + NAMESPACE unofficial::mujs:: + DESTINATION "share/unofficial-mujs" +) + +include(CMakePackageConfigHelpers) +write_basic_package_version_file(unofficial-mujs-config-version.cmake + VERSION ${PACKAGE_VERSION} + COMPATIBILITY AnyNewerVersion +) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-mujs-config-version.cmake" + DESTINATION "share/unofficial-mujs" +) + +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/mujs.pc" "${CMAKE_CURRENT_BINARY_DIR}/mujs.pc" @ONLY) +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/mujs.pc" + DESTINATION "lib/pkgconfig" +) + +if(NOT DISABLE_INSTALL_HEADERS) + install(FILES mujs.h DESTINATION include) +endif() diff --git a/vcpkg/ports/mujs/mujs.pc b/vcpkg/ports/mujs/mujs.pc new file mode 100644 index 0000000..f32d0d8 --- /dev/null +++ b/vcpkg/ports/mujs/mujs.pc @@ -0,0 +1,11 @@ +prefix=${pcfiledir}/../.. +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: mujs +Description: MuJS embeddable Javascript interpreter +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lmujs +Libs.private: @PC_LIBS_PRIVATE@ diff --git a/vcpkg/ports/mujs/portfile.cmake b/vcpkg/ports/mujs/portfile.cmake new file mode 100644 index 0000000..a575cf1 --- /dev/null +++ b/vcpkg/ports/mujs/portfile.cmake @@ -0,0 +1,30 @@ +if(VCPKG_TARGET_IS_WINDOWS) + vcpkg_check_linkage(ONLY_STATIC_LIBRARY) +endif() + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO ccxvii/mujs + REF "${VERSION}" + SHA512 e89a273173f7620247718687cc26f7541478972b3ac35f02ff6f72ff1ab6edbb24caeaad55eb431fad8bc39e2c5884a64197c64b69ee2596ab826670202eba2b + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/mujs.pc" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DPACKAGE_VERSION=${VERSION}" + OPTIONS_DEBUG + -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_cmake_install() +vcpkg_fixup_pkgconfig() +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-mujs) +vcpkg_copy_pdbs() + +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/vcpkg/ports/mujs/usage b/vcpkg/ports/mujs/usage new file mode 100644 index 0000000..5cc07c8 --- /dev/null +++ b/vcpkg/ports/mujs/usage @@ -0,0 +1,6 @@ +mujs can be imported via CMake FindPkgConfig module: + + find_package(PkgConfig) + pkg_check_modules(MUJS REQUIRED IMPORTED_TARGET mujs) + + target_link_libraries(main PRIVATE PkgConfig::MUJS) diff --git a/vcpkg/ports/mujs/vcpkg.json b/vcpkg/ports/mujs/vcpkg.json new file mode 100644 index 0000000..70c6f60 --- /dev/null +++ b/vcpkg/ports/mujs/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "mujs", + "version": "1.3.7", + "description": "An embeddable Javascript interpreter in C", + "homepage": "https://github.com/ccxvii/mujs", + "license": "ISC", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |