current commit
240829.1 · Fix jsi.h and update package versions (#11)
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.

add_executable(jsi_tests
  "../jsi/jsi/test/testlib.h"
  "../jsi/jsi/test/testlib.cpp"
  "../jsi/jsi/test/testlib_ext.cpp"
  "../jsi/jsi/decorator.h"
  "../jsi/jsi/instrumentation.h"
  "../jsi/jsi/jsi-inl.h"
  "../jsi/jsi/jsi.cpp"
  "../jsi/jsi/jsi.h"
  "../jsi/jsi/jsilib-posix.cpp"
  "../jsi/jsi/jsilib-windows.cpp"
  "../jsi/jsi/jsilib.h"
  "../jsi/jsi/threadsafe.h"
  "../src/ApiLoaders/HermesApi.cpp"
  "../src/ApiLoaders/HermesApi.h"
  "../src/ApiLoaders/JSRuntimeApi.cpp"
  "../src/ApiLoaders/JSRuntimeApi.h"
  "../src/ApiLoaders/NodeApi_win.cpp"
  "../src/ApiLoaders/NodeApi.cpp"
  "../src/ApiLoaders/NodeApi.h"
  "../src/ApiLoaders/V8Api.cpp"
  "../src/ApiLoaders/V8Api.h"
  "../src/NodeApiJsiRuntime.cpp"
  "../src/NodeApiJsiRuntime.h"
  "JsiRuntimeTests.cpp"
)

target_include_directories(jsi_tests PUBLIC ../jsi ../src ../node-api)
target_link_libraries(jsi_tests PUBLIC gtest_main)

find_program(NUGET_EXE NAMES nuget)
if(NOT NUGET_EXE)
  message("NUGET.EXE not found.")
  message(FATAL_ERROR "Please install this executable, and run CMake again.")
endif()

execute_process(
  COMMAND ${NUGET_EXE}
    install "Microsoft.JavaScript.Hermes"
    -Version 0.1.27
    -ExcludeVersion
    -OutputDirectory ${CMAKE_BINARY_DIR}/packages
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

target_link_libraries(jsi_tests PRIVATE ${CMAKE_BINARY_DIR}/packages/Microsoft.JavaScript.Hermes/build/native/Microsoft.JavaScript.Hermes.targets)

execute_process(
  COMMAND ${NUGET_EXE}
    install "ReactNative.V8Jsi.Windows"
    -Version 0.75.4
    -ExcludeVersion
    -OutputDirectory ${CMAKE_BINARY_DIR}/packages
  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

target_link_libraries(jsi_tests PRIVATE ${CMAKE_BINARY_DIR}/packages/ReactNative.V8Jsi.Windows/build/native/ReactNative.V8Jsi.Windows.targets)

enable_testing()

add_test(
  NAME jsi_tests
  COMMAND $<TARGET_FILE:jsi_tests>
)