v0.0.1 - Reorganize ISO build tree, add docs/plans/scripts, and stage Phase 2 Slice B+C service integration artifacts
47 lines
1.2 KiB
CMake
47 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(nostr-id-tui C)
|
|
|
|
set(CMAKE_C_STANDARD 99)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
find_package(Curses REQUIRED)
|
|
|
|
option(NOSTR_TUI_FORCE_STATIC "Link nostr-id-tui as fully static binary" OFF)
|
|
|
|
set(NOSTR_CORE_LIB_DIR "${CMAKE_SOURCE_DIR}/../../includes/nostr_core_lib" CACHE PATH "Path to nostr_core_lib directory")
|
|
set(NOSTR_CORE_STATIC_LIB "${NOSTR_CORE_LIB_DIR}/libnostr_core_x64.a" CACHE FILEPATH "Path to libnostr_core static archive")
|
|
|
|
if(NOT EXISTS "${NOSTR_CORE_STATIC_LIB}")
|
|
message(FATAL_ERROR "Missing ${NOSTR_CORE_STATIC_LIB}. Build it first with: cd includes/nostr_core_lib && ./build.sh x64")
|
|
endif()
|
|
|
|
add_executable(nostr-id-tui
|
|
src/main.c
|
|
)
|
|
|
|
target_include_directories(nostr-id-tui PRIVATE
|
|
include
|
|
${NOSTR_CORE_LIB_DIR}
|
|
${NOSTR_CORE_LIB_DIR}/nostr_core
|
|
)
|
|
|
|
target_compile_options(nostr-id-tui PRIVATE -Wall -Wextra -Wpedantic)
|
|
|
|
target_link_libraries(nostr-id-tui PRIVATE
|
|
${NOSTR_CORE_STATIC_LIB}
|
|
${CURSES_LIBRARIES}
|
|
secp256k1
|
|
ssl
|
|
crypto
|
|
curl
|
|
z
|
|
pthread
|
|
m
|
|
dl
|
|
)
|
|
|
|
if(NOSTR_TUI_FORCE_STATIC)
|
|
target_link_options(nostr-id-tui PRIVATE -static)
|
|
endif()
|