conan: make awg-windows and wintun be interpret as exes

This commit is contained in:
Yaroslav Gurov
2026-03-23 23:37:01 +01:00
parent 2f01aac483
commit 6907886c44
3 changed files with 22 additions and 40 deletions

View File

@@ -94,10 +94,9 @@ class AwgWindows(ConanFile):
self.run(f'go build -buildmode c-shared -ldflags="-w -s" -trimpath -v -o "{os.path.join(self.build_folder, "tunnel.dll")}"')
def package(self):
copy(self, "*.h", src=self.build_folder, dst=os.path.join(self.package_folder, "include"))
copy(self, "*.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "lib"))
copy(self, "tunnel.dll", src=self.build_folder, dst=os.path.join(self.package_folder, "bin"))
def package_info(self):
self.cpp_info.exe = True
self.cpp_info.location = os.path.join(self.package_folder, "bin", "tunnel.dll")
self.cpp_info.set_property("cmake_target_name", "amnezia::awg-windows")
self.cpp_info.libs = collect_libs(self)

View File

@@ -37,9 +37,9 @@ class PackageConan(ConanFile):
sha256="07c256185d6ee3652e09fa55c0b673e2624b565e02c4b9091c79ca7d2f24ef51", strip_root=True)
def package(self):
copy(self, "*.dll", src=os.path.join(self.source_folder, "bin", self._arch), dst=os.path.join(self.package_folder, "bin"))
copy(self, "*.h", src=os.path.join(self.source_folder, "include"), dst=os.path.join(self.package_folder, "include"))
copy(self, "wintun.dll", src=os.path.join(self.source_folder, "bin", self._arch), dst=os.path.join(self.package_folder, "bin"))
def package_info(self):
self.cpp_info.exe = True
self.cpp_info.location = os.path.join(self.package_folder, "bin", "wintun.dll")
self.cpp_info.set_property("cmake_target_name", "zx2c4::wintun")
self.cpp_info.libs = [ "wintun" ]

View File

@@ -359,45 +359,28 @@ add_custom_command(
COMMAND_EXPAND_LISTS
)
if(NOT WIN32)
if (WIN32)
find_package(awg-windows REQUIRED)
list(APPEND BLOBS $<TARGET_FILE:amnezia::awg-windows>)
find_package(wintun REQUIRED)
list(APPEND BLOBS $<TARGET_FILE:zx2c4::wintun>)
else()
find_package(awg-go REQUIRED)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:amnezia::awg-go>
$<TARGET_FILE_DIR:${PROJECT}>
)
list(APPEND BLOBS $<TARGET_FILE:amnezia::awg-go>)
endif()
find_package(openvpn REQUIRED)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:openvpn::openvpn>
$<TARGET_FILE_DIR:${PROJECT}>
)
list(APPEND BLOBS $<TARGET_FILE:openvpn::openvpn>)
find_package(tun2socks REQUIRED)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:xjasonlyu::tun2socks>
$<TARGET_FILE_DIR:${PROJECT}>
)
list(APPEND BLOBS $<TARGET_FILE:xjasonlyu::tun2socks>)
find_package(v2ray-rules-dat REQUIRED)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${GEOSITE_DAT_PATH}
$<TARGET_FILE_DIR:${PROJECT}>
)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${GEOIP_DAT_PATH}
$<TARGET_FILE_DIR:${PROJECT}>
)
list(APPEND BLOBS ${GEOSITE_DAT_PATH} ${GEOIP_DAT_PATH})
if (WIN32)
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:zx2c4::wintun>
$<TARGET_FILE_DIR:${PROJECT}>
)
endif()
add_custom_command(TARGET ${PROJECT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${BLOBS}
$<TARGET_FILE_DIR:${PROJECT}>
)