]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/nmap/portfile.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / nmap / portfile.cmake
1 # nmap is a tools, so ignor POST_CHECK
2 SET(VCPKG_POLICY_EMPTY_PACKAGE enabled)
3
4 vcpkg_download_distfile(ARCHIVE
5 URLS "https://nmap.org/dist/nmap-7.70.tar.bz2"
6 FILENAME "nmap-7.70.tar.bz2"
7 SHA512 084c148b022ff6550e269d976d0077f7932a10e2ef218236fe13aa3a70b4eb6506df03329868fc68cb3ce78e4360b200f5a7a491d3145028fed679ef1c9ecae5
8 )
9
10 if(VCPKG_TARGET_IS_WINDOWS)
11 vcpkg_extract_source_archive_ex(
12 OUT_SOURCE_PATH SOURCE_PATH
13 ARCHIVE ${ARCHIVE}
14 PATCHES
15 fix-snprintf.patch
16 fix-ssize_t.patch
17 fix-msvc-prj.patch
18 )
19 list(APPEND DEL_PROJS "libpcap" "libpcre" "libssh2" "libz")
20 foreach (DEL_PROJ ${DEL_PROJS})
21 file(REMOVE_RECURSE ${SOURCE_PATH}/${DEL_PROJ})
22 endforeach()
23
24 # Clear
25 vcpkg_execute_required_process(
26 COMMAND "devenv.exe"
27 "nmap.sln"
28 /Clean
29 WORKING_DIRECTORY ${SOURCE_PATH}/mswin32
30 )
31
32 # Uprade
33 message(STATUS "Upgrade solution...")
34 vcpkg_execute_required_process(
35 COMMAND "devenv.exe"
36 "nmap.sln"
37 /Upgrade
38 WORKING_DIRECTORY ${SOURCE_PATH}/mswin32
39 LOGNAME upgrade-Packet-${TARGET_TRIPLET}
40 )
41 # Build
42 vcpkg_build_msbuild(
43 PROJECT_PATH ${SOURCE_PATH}/mswin32/nmap.vcxproj
44 PLATFORM ${MSBUILD_PLATFORM}
45 USE_VCPKG_INTEGRATION
46 )
47
48 # Install
49 if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Release)
50 file(INSTALL ${SOURCE_PATH}/mswin32/Release/nmap.exe
51 ${SOURCE_PATH}/mswin32/Release/nmap.pdb
52 DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
53 endif()
54 if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Debug)
55 file(INSTALL ${SOURCE_PATH}/mswin32/Debug/nmap.exe
56 ${SOURCE_PATH}/mswin32/Debug/nmap.pdb
57 DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
58 endif()
59 else()
60 set(ENV{LDFLAGS} "$ENV{LDFLAGS} -pthread")
61 foreach(BUILD_TYPE rel dbg)
62 file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE})
63 file(MAKE_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE})
64 # Since nmap makefile has strong relationshop with codes, copy codes to obj path
65 vcpkg_extract_source_archive(${ARCHIVE} ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-${BUILD_TYPE})
66
67 endforeach()
68 set(OPTIONS --without-nmap-update --with-openssl=${CURRENT_INSTALLED_DIR} --with-libssh2=${CURRENT_INSTALLED_DIR} --with-libz=${CURRENT_INSTALLED_DIR} --with-libpcre=${CURRENT_INSTALLED_DIR})
69 message(STATUS "Building Options: ${OPTIONS}")
70
71 if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Release)
72 message(STATUS "Configuring ${TARGET_TRIPLET}-rel")
73 set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70)
74
75 vcpkg_execute_required_process(
76 COMMAND "./configure" ${OPTIONS}
77 WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
78 LOGNAME config-${TARGET_TRIPLET}-rel
79 )
80
81 message(STATUS "Building ${TARGET_TRIPLET}-rel")
82 vcpkg_execute_required_process(
83 COMMAND make
84 WORKING_DIRECTORY ${SOURCE_PATH_RELEASE}
85 LOGNAME build-${TARGET_TRIPLET}-rel
86 )
87
88 message(STATUS "Installing ${TARGET_TRIPLET}-rel")
89 file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
90 endif()
91
92 if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL Debug)
93 message(STATUS "Configuring ${TARGET_TRIPLET}-dbg")
94 set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/nmap-7.70)
95
96 vcpkg_execute_required_process(
97 COMMAND "./configure" ${OPTIONS}
98 WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
99 LOGNAME config-${TARGET_TRIPLET}-dbg
100 )
101
102 message(STATUS "Building ${TARGET_TRIPLET}-dbg")
103 vcpkg_execute_required_process(
104 COMMAND make
105 WORKING_DIRECTORY ${SOURCE_PATH_DEBUG}
106 LOGNAME build-${TARGET_TRIPLET}-dbg
107 )
108
109 message(STATUS "Installing ${TARGET_TRIPLET}-dbg")
110 file(INSTALL ${SOURCE_PATH_RELEASE}/nmap DESTINATION ${CURRENT_PACKAGES_DIR}/debug/tools)
111 endif()
112
113 set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/nmap-7.70)
114 endif()
115
116 vcpkg_copy_pdbs()
117
118 # Handle copyright
119 file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)