Skip to content

Commit

Permalink
Fix the CMakeFindDependencyMacro part.
Browse files Browse the repository at this point in the history
  • Loading branch information
BillyONeal committed Dec 8, 2023
1 parent 3a1fa70 commit 7e3c4d1
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 57 deletions.
8 changes: 6 additions & 2 deletions ports/breakpad/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,11 @@ target_include_directories(libbreakpad_client
)
list(APPEND TARGETS libbreakpad_client)

set(USED_ZLIB OFF)
if(INSTALL_TOOLS)
if(LINUX)
find_package(ZLIB)
find_package(ZLIB REQUIRED)
set(USED_ZLIB ON)
add_executable(microdump_stackwalk
src/processor/microdump_stackwalk.cc)
target_link_libraries(microdump_stackwalk PRIVATE libbreakpad libbreakpad_client)
Expand Down Expand Up @@ -214,7 +216,9 @@ endif()

install(
EXPORT unofficial-breakpad-targets
FILE unofficial-breakpad-config.cmake
FILE unofficial-breakpadTargets.cmake
NAMESPACE unofficial::breakpad::
DESTINATION share/unofficial-breakpad
)

configure_file("${CMAKE_CURRENT_LIST_DIR}/unofficial-breakpadConfig.cmake" "${CMAKE_INSTALL_PREFIX}/share/unofficial-breakpad/unofficial-breakpadConfig.cmake" @ONLY)
123 changes: 69 additions & 54 deletions ports/breakpad/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,54 +1,69 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/breakpad
REF v2023.01.27
SHA512 c6802c55653289780232b20e2abc0458c49f3cdff108c3ddfd6e40a2f378da34adbc158548e9c88cbfdbba9526477da9b68c2c45e205231e2802fe533b6bd6a4
HEAD_REF master
PATCHES
fix-const-char.patch
fix-unique_ptr.patch
)

if(VCPKG_HOST_IS_LINUX OR VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID)
vcpkg_from_git(
OUT_SOURCE_PATH LSS_SOURCE_PATH
URL https://chromium.googlesource.com/linux-syscall-support
REF 7bde79cc274d06451bf65ae82c012a5d3e476b5a
)

file(RENAME "${LSS_SOURCE_PATH}" "${SOURCE_PATH}/src/third_party/lss")
endif()

file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" "${CMAKE_CURRENT_LIST_DIR}/check_getcontext.cc" DESTINATION "${SOURCE_PATH}")

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"tools" INSTALL_TOOLS
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
OPTIONS_RELEASE
-DINSTALL_HEADERS=ON
)

vcpkg_cmake_install()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/client/linux/data" "${CURRENT_PACKAGES_DIR}/include/client/linux/sender")

file(WRITE "${CURRENT_PACKAGES_DIR}/share/breakpad/breakpad-config.cmake" "include(CMakeFindDependencyMacro)
find_dependency(ZLIB)
")

if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(TOOL_NAMES microdump_stackwalk minidump_dump minidump_stackwalk core2md pid2md dump_syms minidump-2-core minidump_upload sym_upload core_handler AUTO_CLEAN)
endif()

vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-breakpad)

vcpkg_copy_pdbs()

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO google/breakpad
REF v2023.01.27
SHA512 c6802c55653289780232b20e2abc0458c49f3cdff108c3ddfd6e40a2f378da34adbc158548e9c88cbfdbba9526477da9b68c2c45e205231e2802fe533b6bd6a4
HEAD_REF master
PATCHES
fix-const-char.patch
fix-unique_ptr.patch
)

if(VCPKG_HOST_IS_LINUX OR VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_ANDROID)
vcpkg_from_git(
OUT_SOURCE_PATH LSS_SOURCE_PATH
URL https://chromium.googlesource.com/linux-syscall-support
REF 7bde79cc274d06451bf65ae82c012a5d3e476b5a
)

file(RENAME "${LSS_SOURCE_PATH}" "${SOURCE_PATH}/src/third_party/lss")
endif()

file(COPY
"${CMAKE_CURRENT_LIST_DIR}/check_getcontext.cc"
"${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt"
"${CMAKE_CURRENT_LIST_DIR}/unofficial-breakpadConfig.cmake"
DESTINATION
"${SOURCE_PATH}")

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"tools" INSTALL_TOOLS
)

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
OPTIONS_RELEASE
-DINSTALL_HEADERS=ON
)

vcpkg_cmake_install()
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/include/client/linux/data"
"${CURRENT_PACKAGES_DIR}/include/client/linux/sender")

if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(
TOOL_NAMES
microdump_stackwalk
minidump_dump
minidump_stackwalk
core2md
pid2md
dump_syms
minidump-2-core
minidump_upload
sym_upload
core_handler
AUTO_CLEAN)
endif()

vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-breakpad)

vcpkg_copy_pdbs()

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
6 changes: 6 additions & 0 deletions ports/breakpad/unofficial-breakpadConfig.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
if(@USED_ZLIB@)
include(CMakeFindDependencyMacro)
find_dependency(ZLIB)
endif()

include("${CMAKE_CURRENT_LIST_DIR}/unofficial-breakpad-targets.cmake")
2 changes: 1 addition & 1 deletion versions/b-/breakpad.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"versions": [
{
"git-tree": "caef39c61db4126e3aa994c1010623dd86bdd487",
"git-tree": "23d2ade2d52db24c4dcd8ff524f5484bec854933",
"version-date": "2023-01-27",
"port-version": 0
},
Expand Down

0 comments on commit 7e3c4d1

Please sign in to comment.