27 lines
775 B
CMake
27 lines
775 B
CMake
# NAPI stuff
|
|
|
|
function(AddNapiSupport addonName)
|
|
execute_process(COMMAND node -p "require('node-addon-api').include"
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE NODE_ADDON_API_DIR
|
|
)
|
|
string(REPLACE "\n" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR})
|
|
string(REPLACE "\"" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR})
|
|
|
|
set_target_properties(${addonName} PROPERTIES PREFIX "" SUFFIX ".node")
|
|
|
|
target_include_directories(${addonName} PRIVATE
|
|
"${NODE_ADDON_API_DIR}"
|
|
)
|
|
target_compile_definitions(${addonName} PRIVATE
|
|
NAPI_CPP_EXCEPTIONS
|
|
)
|
|
|
|
if (WIN32)
|
|
target_compile_definitions(${addonName} PRIVATE
|
|
_HAS_EXCEPTIONS=1
|
|
)
|
|
endif()
|
|
endfunction(AddNapiSupport addonName)
|
|
|
|
|