scc/NetTunnelSDK/CMakeLists.txt

47 lines
2.5 KiB
CMake
Raw Permalink Normal View History

2023-08-23 02:16:21 +00:00
CMAKE_MINIMUM_REQUIRED(VERSION 3.22)
PROJECT(NetTunnelSDK)
2023-08-22 07:12:52 +00:00
2023-08-23 02:16:21 +00:00
SET(CMAKE_CXX_STANDARD 17)
2023-08-22 07:12:52 +00:00
2023-08-23 02:16:21 +00:00
FIND_PATH(CPPCODEC_INCLUDE_DIRS "cppcodec/base32_crockford.hpp")
2023-08-22 07:12:52 +00:00
INCLUDE_DIRECTORIES(include ./include/json ./include/httplib ../depends/WireGuardNT/include ${CPPCODEC_INCLUDE_DIRS})
FILE(GLOB CPP_HEADS ./include/*.h ./include/json/AIGCJson.hpp ./include/httplib/httplib.h ../depends/WireGuardNT/include/*.h ${CPPCODEC_INCLUDE_DIRS}/*.hpp)
ADD_DEFINITIONS(-DNETTUNNELSDK_EXPORTS)
AUX_SOURCE_DIRECTORY(tunnel CPP_SRC)
AUX_SOURCE_DIRECTORY(crypto CPP_SRC)
AUX_SOURCE_DIRECTORY(misc CPP_SRC)
AUX_SOURCE_DIRECTORY(network CPP_SRC)
AUX_SOURCE_DIRECTORY(protocol CPP_SRC)
AUX_SOURCE_DIRECTORY(user CPP_SRC)
ADD_LIBRARY(NetTunnelSDK SHARED dllmain.cpp ${CPP_SRC} ${CPP_HEADS})
2023-08-23 02:16:21 +00:00
TARGET_LINK_LIBRARIES(NetTunnelSDK PRIVATE spdlog::spdlog)
TARGET_LINK_LIBRARIES(NetTunnelSDK PRIVATE magic_enum::magic_enum)
TARGET_LINK_LIBRARIES(NetTunnelSDK PRIVATE OpenSSL::SSL OpenSSL::Crypto)
TARGET_LINK_LIBRARIES(NetTunnelSDK PRIVATE rapidjson)
FILE(GLOB SDK_DLLS ${CMAKE_CURRENT_BINARY_DIR}/*.dll)
2023-08-22 07:12:52 +00:00
ADD_CUSTOM_COMMAND(TARGET NetTunnelSDK
PRE_BUILD
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "!!!!!! Notice: Clearup SDK includes."
COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_SOURCE_DIR}/sdk"
2023-08-23 02:16:21 +00:00
COMMAND ${CMAKE_COMMAND} -E make_directory "${WORKSPACE_BINARY_DIR}"
2023-08-22 07:12:52 +00:00
COMMAND ../scripts/cleansdk.bat)
ADD_CUSTOM_COMMAND(TARGET NetTunnelSDK
POST_BUILD
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMENT "!!!!!! Notice: Create SDK includes."
COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_SOURCE_DIR}/sdk"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/include/sccsdk.h" "${PROJECT_SOURCE_DIR}/sdk"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/include/common.h" "${PROJECT_SOURCE_DIR}/sdk"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${PROJECT_SOURCE_DIR}/include/usrerr.h" "${PROJECT_SOURCE_DIR}/sdk"
2023-08-23 02:16:21 +00:00
COMMAND ../scripts/gensdk.bat
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${SDK_DLLS} ${WORKSPACE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/NetTunnelSDK.dll ${WORKSPACE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/NetTunnelSDK.lib ${WORKSPACE_BINARY_DIR}
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/NetTunnelSDK.pdb ${WORKSPACE_BINARY_DIR}
)