cmake_minimum_required(VERSION 3.22) project(NetTunnelServerApp) set(CMAKE_CXX_STANDARD 17) add_definitions(-D_UNICODE) GET_TARGET_PROPERTY(LIBNetTunnelSDK_DEPENDS NetTunnelSDK LINK_LIBRARIES) GET_TARGET_PROPERTY(LIBNetTunnelSDK_TARGETDIR NetTunnelSDK BINARY_DIR) #MESSAGE(STATUS "2+++++++++++++++++++NetTunnelSDK Depends: ${LIBNetTunnelSDK_DEPENDS}") #MESSAGE(STATUS "NetTunnelSDK TargetDir: ${LIBNetTunnelSDK_TARGETDIR}") #FIND_LIBRARY(NETTUNNELSDK_LIBRARY NAMES NetTunnelSDK HINTS ${LIBNetTunnelSDK_TARGETDIR}) FIND_PACKAGE(spdlog CONFIG REQUIRED) ADD_EXECUTABLE(NetTunnelServerApp NetTunnelServerApp.cpp) TARGET_LINK_LIBRARIES(NetTunnelServerApp PRIVATE NetTunnelSDK ${LIBNetTunnelSDK_DEPENDS}) SET_TARGET_PROPERTIES(NetTunnelServerApp PROPERTIES LINK_FLAGS "/MANIFESTUAC:\"level='requireAdministrator' uiAccess='false'\"") ADD_CUSTOM_COMMAND(TARGET NetTunnelServerApp PRE_BUILD COMMENT "!!!!!! Notice: Automatic install dependes." COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LIBNetTunnelSDK_TARGETDIR}/NetTunnelSDK.dll ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PROJECT_SOURCE_DIR}/../depends/WireGuardNT/amd64/wireguard.dll ${CMAKE_CURRENT_BINARY_DIR} )