Files
nostr_terminal/CMakeLists.txt
T

56 lines
1.8 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(nt C)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
add_compile_options(-Wall -Wextra -D_GNU_SOURCE)
# nt application sources
file(GLOB NT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c")
# nostr_core_lib sources
file(GLOB NOSTR_CORE_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_core/*.c")
file(GLOB NOSTR_CORE_CRYPTO_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_core/crypto/*.c")
set(NOSTR_WEBSOCKET_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_websocket/nostr_websocket_openssl.c")
set(NOSTR_PLATFORM_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/platform/linux.c")
set(NOSTR_CJSON_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/cjson/cJSON.c")
add_library(nostr_core_lib STATIC
${NOSTR_CORE_SOURCES}
${NOSTR_CORE_CRYPTO_SOURCES}
${NOSTR_WEBSOCKET_SOURCE}
${NOSTR_PLATFORM_SOURCE}
${NOSTR_CJSON_SOURCE}
)
target_include_directories(nostr_core_lib PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_core
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_websocket
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/cjson
)
add_executable(nt ${NT_SOURCES})
target_include_directories(nt PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_core
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/nostr_websocket
${CMAKE_CURRENT_SOURCE_DIR}/resources/nostr_core_lib/cjson
)
target_link_libraries(nt PRIVATE
nostr_core_lib
sqlite3
secp256k1
ssl
crypto
pthread
m
z
dl
)