Skip to content

Commit 3ddc612

Browse files
committed
Fix Windows specific issues
1 parent 74a323d commit 3ddc612

File tree

2 files changed

+17
-7
lines changed

2 files changed

+17
-7
lines changed

CMakeLists.txt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,24 @@ endif()
1616

1717
function(add_node_api_cts_addon ADDON_NAME SRC)
1818
add_library(${ADDON_NAME} SHARED ${SRC} ${NODE_API_SRC})
19-
set_target_properties(${ADDON_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
19+
set_target_properties(${ADDON_NAME} PROPERTIES
20+
PREFIX ""
21+
SUFFIX ".node"
22+
# Co-locate the output binary with the source file
23+
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
24+
# (for MSVC)
25+
RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}
26+
RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}
27+
)
28+
if(APPLE)
29+
set_target_properties(${ADDON_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
30+
elseif(MSVC)
31+
set_target_properties(${ADDON_NAME} PROPERTIES LINK_FLAGS "/DELAYLOAD:NODE.EXE")
32+
endif()
2033
target_include_directories(${ADDON_NAME} PRIVATE ${NODE_API_HEADERS_DIR}/include)
2134
target_link_libraries(${ADDON_NAME} PRIVATE ${NODE_API_LIB})
2235
target_compile_features(${ADDON_NAME} PRIVATE cxx_std_17)
2336
target_compile_definitions(${ADDON_NAME} PRIVATE ADDON_NAME=${ADDON_NAME})
24-
set_target_properties(${ADDON_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
25-
if(APPLE)
26-
set_target_properties(${ADDON_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
27-
endif()
2837
endfunction()
2938

3039
file(GLOB_RECURSE cmake_dirs RELATIVE ${CMAKE_SOURCE_DIR} tests/*/CMakeLists.txt)

implementors/node/run-tests.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,11 @@ function runFileInSubprocess(cwd: string, filePath: string): Promise<void> {
4343
const child = spawn(
4444
process.execPath,
4545
[
46+
// Using file scheme prefix when to enable imports on Windows
4647
"--import",
47-
ASSERT_MODULE_PATH,
48+
"file://" + ASSERT_MODULE_PATH,
4849
"--import",
49-
LOAD_ADDON_MODULE_PATH,
50+
"file://" + LOAD_ADDON_MODULE_PATH,
5051
filePath,
5152
],
5253
{ cwd }

0 commit comments

Comments
 (0)