Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 27 additions & 22 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,44 @@
cmake_minimum_required(VERSION 3.20)

# TODO (release): set version and actual year
set(_CLIENT_VERSION_MAJOR 0)
set(_CLIENT_VERSION_MINOR 22)
set(_CLIENT_VERSION_REVISION 19)
set(_CLIENT_VERSION_BUILD 0)
set(_CLIENT_VERSION_IS_RELEASE false)
set(_COPYRIGHT_YEAR 2025)
set(CLIENT_NAME "Pocketnet Core")
set(CLIENT_VERSION_MAJOR 0)
set(CLIENT_VERSION_MINOR 22)
set(CLIENT_VERSION_REVISION 19)
set(CLIENT_VERSION_BUILD 0)
set(CLIENT_VERSION_IS_RELEASE false)
set(COPYRIGHT_YEAR 2025)

project (
PocketnetCore
VERSION ${CLIENT_VERSION_MAJOR}.${CLIENT_VERSION_MINOR}.${CLIENT_VERSION_REVISION}
HOMEPAGE_URL "https://github.com/pocketnetteam/"
)

if(WIN32)
set(_COPYRIGHT_HOLDERS "\"The %%s developers\"")
set(COPYRIGHT_HOLDERS "The %%s developers")
else()
set(_COPYRIGHT_HOLDERS "\"The %s developers\"")
set(COPYRIGHT_HOLDERS "The %s developers")
endif()
set(COPYRIGHT_HOLDERS_SUBSTITUTION "${CLIENT_NAME}")
set(COPYRIGHT_HOLDERS_FINAL "The ${COPYRIGHT_HOLDERS_SUBSTITUTION} developers")
set(PACKAGE_BUGREPORT "https://github.com/pocketnetteam/pocketnet.core/issues")
set(PACKAGE_TARNAME "pocketnetcore")

set(_COPYRIGHT_HOLDERS_SUBSTITUTION "\"Pocketnet\"")
set(_HOMEPAGE "\"https://github.com/pocketnetteam/\"")
string(REPLACE "%s" ${_COPYRIGHT_HOLDERS_SUBSTITUTION} _COPYRIGHT_HOLDERS_FINAL ${_COPYRIGHT_HOLDERS_SUBSTITUTION})
#[[
include(init.cmake)
init("\"Pocketnet Core\"" "\"${_CLIENT_VERSION_MAJOR}.${_CLIENT_VERSION_MINOR}.${_CLIENT_VERSION_REVISION}\"" "\"https://github.com/pocketnetteam/pocketnet.core/issues\"" "\"pocketnetcore\"" "${_HOMEPAGE}")
init("${CLIENT_NAME}" "${PROJECT_VERSION}" "${_PACKAGE_BUGREPORT}" "${_PACKAGE_TARNAME}" "${PROJECT_HOMEPAGE_URL}")

add_compile_definitions(CLIENT_VERSION_MAJOR=${_CLIENT_VERSION_MAJOR}
CLIENT_VERSION_MINOR=${_CLIENT_VERSION_MINOR}
CLIENT_VERSION_REVISION=${_CLIENT_VERSION_REVISION}
CLIENT_VERSION_BUILD=${_CLIENT_VERSION_BUILD}
CLIENT_VERSION_IS_RELEASE=${_CLIENT_VERSION_IS_RELEASE}
COPYRIGHT_YEAR=${_COPYRIGHT_YEAR}
COPYRIGHT_HOLDERS=${_COPYRIGHT_HOLDERS}
COPYRIGHT_HOLDERS_SUBSTITUTION=${_COPYRIGHT_HOLDERS_SUBSTITUTION}
COPYRIGHT_HOLDERS_FINAL=${_COPYRIGHT_HOLDERS_FINAL}
HOMEPAGE=${_HOMEPAGE})

project (
Pocketnet-Core
VERSION ${_CLIENT_VERSION_MAJOR}.${_CLIENT_VERSION_MINOR}.${_CLIENT_VERSION_REVISION}
HOMEPAGE_URL ${_HOMEPAGE}
)
COPYRIGHT_HOLDERS="${_COPYRIGHT_HOLDERS}"
COPYRIGHT_HOLDERS_SUBSTITUTION="${_COPYRIGHT_HOLDERS_SUBSTITUTION}"
COPYRIGHT_HOLDERS_FINAL="${_COPYRIGHT_HOLDERS_FINAL}"
HOMEPAGE="${PROJECT_HOMEPAGE_URL}")
]]

add_subdirectory(src/)
File renamed without changes.
File renamed without changes.
84 changes: 84 additions & 0 deletions cmake/module/FindMiniUPnPc.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Copyright (c) 2023-present The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or https://opensource.org/license/mit/.

if(NOT MSVC)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PC_MiniUPnPc QUIET miniupnpc)
endif()

find_path(MiniUPnPc_INCLUDE_DIR
NAMES miniupnpc/miniupnpc.h
PATHS ${PC_MiniUPnPc_INCLUDE_DIRS}
)

if(MiniUPnPc_INCLUDE_DIR)
file(
STRINGS "${MiniUPnPc_INCLUDE_DIR}/miniupnpc/miniupnpc.h" version_strings
REGEX "^#define[\t ]+MINIUPNPC_API_VERSION[\t ]+[0-9]+"
)
string(REGEX REPLACE "^#define[\t ]+MINIUPNPC_API_VERSION[\t ]+([0-9]+)" "\\1" MiniUPnPc_API_VERSION "${version_strings}")

# The minimum supported miniUPnPc API version is set to 17. This excludes
# versions with known vulnerabilities.
if(MiniUPnPc_API_VERSION GREATER_EQUAL 17)
set(MiniUPnPc_API_VERSION_OK TRUE)
endif()
endif()

if(MSVC)
cmake_path(GET MiniUPnPc_INCLUDE_DIR PARENT_PATH MiniUPnPc_IMPORTED_PATH)
find_library(MiniUPnPc_LIBRARY_DEBUG
NAMES miniupnpc PATHS ${MiniUPnPc_IMPORTED_PATH}/debug/lib
NO_DEFAULT_PATH
)
find_library(MiniUPnPc_LIBRARY_RELEASE
NAMES miniupnpc PATHS ${MiniUPnPc_IMPORTED_PATH}/lib
NO_DEFAULT_PATH
)
set(MiniUPnPc_required MiniUPnPc_IMPORTED_PATH)
else()
find_library(MiniUPnPc_LIBRARY
NAMES miniupnpc
PATHS ${PC_MiniUPnPc_LIBRARY_DIRS}
)
set(MiniUPnPc_required MiniUPnPc_LIBRARY)
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(MiniUPnPc
REQUIRED_VARS ${MiniUPnPc_required} MiniUPnPc_INCLUDE_DIR MiniUPnPc_API_VERSION_OK
)

if(MiniUPnPc_FOUND AND NOT TARGET MiniUPnPc::MiniUPnPc)
add_library(MiniUPnPc::MiniUPnPc UNKNOWN IMPORTED)
set_target_properties(MiniUPnPc::MiniUPnPc PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${MiniUPnPc_INCLUDE_DIR}"
)
if(MSVC)
if(MiniUPnPc_LIBRARY_DEBUG)
set_property(TARGET MiniUPnPc::MiniUPnPc APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
set_target_properties(MiniUPnPc::MiniUPnPc PROPERTIES
IMPORTED_LOCATION_DEBUG "${MiniUPnPc_LIBRARY_DEBUG}"
)
endif()
if(MiniUPnPc_LIBRARY_RELEASE)
set_property(TARGET MiniUPnPc::MiniUPnPc APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
set_target_properties(MiniUPnPc::MiniUPnPc PROPERTIES
IMPORTED_LOCATION_RELEASE "${MiniUPnPc_LIBRARY_RELEASE}"
)
endif()
else()
set_target_properties(MiniUPnPc::MiniUPnPc PROPERTIES
IMPORTED_LOCATION "${MiniUPnPc_LIBRARY}"
)
endif()
set_property(TARGET MiniUPnPc::MiniUPnPc PROPERTY
INTERFACE_COMPILE_DEFINITIONS USE_UPNP=1 $<$<PLATFORM_ID:Windows>:MINIUPNP_STATICLIB>
)
endif()

mark_as_advanced(
MiniUPnPc_INCLUDE_DIR
MiniUPnPc_LIBRARY
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading