diff --git a/source/loaders/node_loader/bootstrap/CMakeLists.txt b/source/loaders/node_loader/bootstrap/CMakeLists.txt index 3f7fe0904..7fce3a33f 100644 --- a/source/loaders/node_loader/bootstrap/CMakeLists.txt +++ b/source/loaders/node_loader/bootstrap/CMakeLists.txt @@ -18,24 +18,26 @@ message(STATUS "Plugin ${target} bootstrap") # if(MSVC) - set(LOADER_LIBRARY_PATH "${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE}") + set(BOOTSTRAP_OUTPUT_PATH "${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE}") else() - set(LOADER_LIBRARY_PATH "${PROJECT_BINARY_DIR}") + set(BOOTSTRAP_OUTPUT_PATH "${PROJECT_BINARY_DIR}") endif() -if(OPTION_BUILD_GUIX) - add_custom_target(${target} ALL - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/bootstrap.js ${LOADER_LIBRARY_PATH} - ) -else() - add_custom_target(${target} ALL +add_custom_target(${target} ALL + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/bootstrap.js ${BOOTSTRAP_OUTPUT_PATH} +) + +if(NOT OPTION_BUILD_GUIX) + add_custom_target(${target}-depends WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/bootstrap.js ${LOADER_LIBRARY_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/package.json ${LOADER_LIBRARY_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/package-lock.json ${LOADER_LIBRARY_PATH} - COMMAND npm install + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/package.json ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/lib/package-lock.json ${CMAKE_CURRENT_BINARY_DIR} + COMMAND npm --prefix ${CMAKE_CURRENT_BINARY_DIR} install ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/node_modules ${BOOTSTRAP_OUTPUT_PATH}/node_modules ) + + add_dependencies(${target} ${target}-depends) endif() # @@ -54,13 +56,13 @@ set_target_properties(${target} # Library install(FILES - ${LOADER_LIBRARY_PATH}/bootstrap.js + ${CMAKE_CURRENT_SOURCE_DIR}/lib/bootstrap.js DESTINATION ${INSTALL_LIB} COMPONENT runtime ) install(DIRECTORY - ${LOADER_LIBRARY_PATH}/node_modules + ${CMAKE_CURRENT_BINARY_DIR}/node_modules DESTINATION ${INSTALL_LIB} COMPONENT runtime ) diff --git a/source/tests/metacall_depends_test/CMakeLists.txt b/source/tests/metacall_depends_test/CMakeLists.txt index b45a9fcd4..09b9f944a 100644 --- a/source/tests/metacall_depends_test/CMakeLists.txt +++ b/source/tests/metacall_depends_test/CMakeLists.txt @@ -7,18 +7,6 @@ if(NOT OPTION_BUILD_DIST_LIBS) return() endif() -# Check if python dependencies are installed -execute_process( - COMMAND python -c "import rsa" - ERROR_QUIET - OUTPUT_QUIET - RESULT_VARIABLE PYTHON_DEPENDS -) - -if(PYTHON_DEPENDS) - return() -endif() - # # Executable name and options # diff --git a/source/tests/metacall_python_open_test/CMakeLists.txt b/source/tests/metacall_python_open_test/CMakeLists.txt index 4b538912a..86af075e3 100644 --- a/source/tests/metacall_python_open_test/CMakeLists.txt +++ b/source/tests/metacall_python_open_test/CMakeLists.txt @@ -55,6 +55,26 @@ add_executable(${target} # Create namespaced alias add_executable(${META_PROJECT_NAME}::${target} ALIAS ${target}) +# +# Dependencies +# + +if(NOT OPTION_BUILD_GUIX) + if(MSVC) + set(DEPENDS_OUTPUT_PATH "${PROJECT_BINARY_DIR}/${CMAKE_BUILD_TYPE}") + else() + set(DEPENDS_OUTPUT_PATH "${PROJECT_BINARY_DIR}") + endif() + + add_custom_target(${target}-depends + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND npm --prefix ${CMAKE_CURRENT_BINARY_DIR} install jsonwebtoken + COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_BINARY_DIR}/node_modules ${DEPENDS_OUTPUT_PATH}/node_modules + ) + + add_dependencies(${target} ${target}-depends) +endif() + # # Project options # diff --git a/source/tests/metacall_python_open_test/source/metacall_python_open_test.cpp b/source/tests/metacall_python_open_test/source/metacall_python_open_test.cpp index dfedbfbdd..717379275 100644 --- a/source/tests/metacall_python_open_test/source/metacall_python_open_test.cpp +++ b/source/tests/metacall_python_open_test/source/metacall_python_open_test.cpp @@ -53,6 +53,25 @@ TEST_F(metacall_python_open_test, DefaultConstructor) EXPECT_NE((int) 0, (int) strcmp(result, "Error")); metacall_value_destroy(ret); + + static const char str[] = "Hello World"; + + void * args[] = + { + metacall_value_create_string(str, sizeof(str) - 1) + }; + + ret = metacallv("login", args); + + EXPECT_NE((void *) NULL, (void *) ret); + + const char * token = metacall_value_to_string(ret); + + EXPECT_EQ((int) 0, (int) strcmp(token, "eyJhbGciOiJIUzI1NiJ9.SGVsbG8gV29ybGQ.Iyc6PWVbK538giVdaInTeIO3jvvC1Vuy_czZUzoRRec")); + + metacall_value_destroy(args[0]); + + metacall_value_destroy(ret); } #endif /* OPTION_BUILD_LOADERS_PY */