mirror of
https://github.com/eosswedenorg/antelope-keygen
synced 2026-06-17 03:50:03 +02:00
52 lines
1.5 KiB
CMake
52 lines
1.5 KiB
CMake
|
|
# --------------------------------
|
|
# Variables
|
|
# --------------------------------
|
|
set( LIBEOSKEYGEN_GIT_URL "https://github.com/eosswedenorg/libeoskeygen.git" )
|
|
set( LIBEOSKEYGEN_WANTED_VERSION 0.1.1 )
|
|
|
|
# --------------------------------
|
|
# Macros
|
|
# --------------------------------
|
|
macro(fromGit tag)
|
|
|
|
message ("Using libeoskeygen from: ${LIBEOSKEYGEN_GIT_URL}@${tag}")
|
|
|
|
include(FetchContent)
|
|
FetchContent_Declare(libeoskeygen
|
|
GIT_REPOSITORY ${LIBEOSKEYGEN_GIT_URL}
|
|
GIT_TAG ${tag}
|
|
)
|
|
|
|
FetchContent_GetProperties(libeoskeygen)
|
|
if (NOT libeoskeygen_POPULATED)
|
|
FetchContent_Populate(libeoskeygen)
|
|
add_subdirectory(${libeoskeygen_SOURCE_DIR} ${libeoskeygen_BINARY_DIR} EXCLUDE_FROM_ALL)
|
|
endif()
|
|
endmacro()
|
|
|
|
macro(buildLocal src)
|
|
message ("Using local libeoskeygen at: ${src}")
|
|
add_subdirectory(${src} ${src}/build EXCLUDE_FROM_ALL)
|
|
endmacro()
|
|
|
|
# If we have a local libeoskeygen
|
|
if (LIBEOSKEYGEN_SOURCE_DIR)
|
|
buildLocal( ${LIBEOSKEYGEN_SOURCE_DIR} )
|
|
else()
|
|
|
|
# Check if version is in fact a version.
|
|
if (LIBEOSKEYGEN_WANTED_VERSION MATCHES "^[0-9]+(.[0-9]+)?(.[0-9]+)(-[a-zA-Z0-9]+)?$")
|
|
# Try finding the package on the system.
|
|
find_package(libeoskeygen ${LIBEOSKEYGEN_WANTED_VERSION} QUIET)
|
|
if (libeoskeygen_FOUND)
|
|
message ("Using libeoskeygen in: ${libeoskeygen_DIR}")
|
|
# Not found, download from git.
|
|
else()
|
|
fromGit( v${LIBEOSKEYGEN_WANTED_VERSION} )
|
|
endif()
|
|
# Assume version contains a git branch.
|
|
else()
|
|
fromGit( ${LIBEOSKEYGEN_WANTED_VERSION} )
|
|
endif()
|
|
endif()
|