Droping rebory and migrate to cmake-js #14
@ -11,22 +11,34 @@ set(CMAKE_C_STANDARD 17)
|
|||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
include_directories(${CMAKE_JS_INC})
|
include_directories(${CMAKE_JS_INC})
|
||||||
include_directories("node_modules/node-addon-api")
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/addon")
|
||||||
include_directories("addon")
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/addon/genKey")
|
||||||
include_directories("addon/genKey")
|
# Include N-API wrappers
|
||||||
|
# $ node -p "require('node-addon-api').include"
|
||||||
|
# "/home/will/projects/financialcpp/financialcpp/node_modules/node-addon-api"
|
||||||
|
execute_process(COMMAND node -p "require('node-addon-api').include"
|
||||||
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||||
|
OUTPUT_VARIABLE NODE_ADDON_API_DIR
|
||||||
|
)
|
||||||
|
|
||||||
|
# strip `"` and `\n` from the output above
|
||||||
|
string(REPLACE "\n" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR})
|
||||||
|
string(REPLACE "\"" "" NODE_ADDON_API_DIR ${NODE_ADDON_API_DIR})
|
||||||
|
|
||||||
|
include_directories(PRIVATE ${NODE_ADDON_API_DIR})
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
add_definitions(-fpermissive -fexceptions -w -fpermissive -fPIC)
|
add_definitions(-fpermissive -fexceptions -w -fpermissive -fPIC)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(GLOB GSOURCE_FILES
|
file(GLOB GSOURCE_FILES
|
||||||
"addon/main.cpp"
|
"${CMAKE_CURRENT_SOURCE_DIR}/addon/main.cpp"
|
||||||
"addon/genKey/wgkeys.cpp"
|
"${CMAKE_CURRENT_SOURCE_DIR}/addon/genKey/wgkeys.cpp"
|
||||||
)
|
)
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
file(GLOB SOURCE_FILES "addon/win/wginterface.cpp")
|
file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/addon/win/wginterface.cpp")
|
||||||
include_directories("addon/win")
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/addon/win")
|
||||||
add_compile_definitions(_HAS_EXCEPTIONS=1 ONSTARTADDON)
|
add_compile_definitions(_HAS_EXCEPTIONS=1 ONSTARTADDON)
|
||||||
target_link_libraries(${PROJECT_NAME}
|
target_link_libraries(${PROJECT_NAME}
|
||||||
"wbemuuid.lib"
|
"wbemuuid.lib"
|
||||||
@ -39,10 +51,10 @@ if(MSVC)
|
|||||||
"setupapi.lib"
|
"setupapi.lib"
|
||||||
)
|
)
|
||||||
elseif(UNIX AND NOT APPLE OR ANDROID)
|
elseif(UNIX AND NOT APPLE OR ANDROID)
|
||||||
include_directories("addon/linux")
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/addon/linux")
|
||||||
file(GLOB SOURCE_FILES
|
file(GLOB SOURCE_FILES
|
||||||
"addon/linux/wireguard.c"
|
"${CMAKE_CURRENT_SOURCE_DIR}/addon/linux/wireguard.c"
|
||||||
"addon/linux/wginterface.cpp"
|
"${CMAKE_CURRENT_SOURCE_DIR}/addon/linux/wginterface.cpp"
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
message(STATUS "Buiding go Userspace")
|
message(STATUS "Buiding go Userspace")
|
||||||
@ -71,9 +83,9 @@ else()
|
|||||||
if(NOT GOCODE EQUAL "0")
|
if(NOT GOCODE EQUAL "0")
|
||||||
message(FATAL_ERROR "cannot build go userspace code exit ${GOCODE}\n${GOBUILDLOG}")
|
message(FATAL_ERROR "cannot build go userspace code exit ${GOCODE}\n${GOBUILDLOG}")
|
||||||
endif()
|
endif()
|
||||||
include_directories("addon/userspace")
|
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/addon/userspace")
|
||||||
set(USERSPACEOBJ ${CMAKE_CURRENT_SOURCE_DIR}/addon/userspace/wg-go.o)
|
set(USERSPACEOBJ ${CMAKE_CURRENT_SOURCE_DIR}/addon/userspace/wg-go.o)
|
||||||
file(GLOB SOURCE_FILES "addon/userspace/wginterface.cpp")
|
file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/addon/userspace/wginterface.cpp")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} SHARED ${GSOURCE_FILES} ${SOURCE_FILES} ${CMAKE_JS_SRC})
|
add_library(${PROJECT_NAME} SHARED ${GSOURCE_FILES} ${SOURCE_FILES} ${CMAKE_JS_SRC})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user