Merge pull request #180
pull/95/headce71c01
cmake: work around a bug with implicit link directories (Ben Boeckel)de4fc40
mingw: copy required libraries to the build tree (Ben Boeckel)ec54e2f
cmake: place binaries together in the build tree (Ben Boeckel)18c56ab
msys: don't use LTO (Ben Boeckel)5680c9c
msys: factor out -Werror on msys (Ben Boeckel)4751542
msys: look in msys' directory for files (Ben Boeckel)d855fe4
miniupnpc: bump the _POSIX_C_SOURCE feature macro (Ben Boeckel)c696492
unbound: fix getaddrinfo detection for 32-bit windows (Ben Boeckel)e377687
cmake: Windows and static builds need this (Ben Boeckel)01895dd
cmake: fix up link lines (Ben Boeckel)4b6515c
unbound: fix type checking (Ben Boeckel)d43a20f
unbound: plumb the libdir up (Ben Boeckel)7d708e4
cmake: support 2.8.7 (Ben Boeckel)464c280
cmake: fix up miniupnpc's define (Ben Boeckel)9689df9
cmake: clean up EXTRA_LIBRARIES (Ben Boeckel)3b7bdcb
cmake: set the project name (Ben Boeckel)0f0efc4
cmake: prepend to CMAKE_MODULE_PATH (Ben Boeckel)031e3da
cmake: remove scream-make (all-caps functions) (Ben Boeckel)abbd5c0
unbound: import cmake build system (Ben Boeckel)e59b5b7
miniupnpc: clean up build system (Ben Boeckel)475fe20
cmake: minor cleanups (indentation and typos) (Ben Boeckel)799e8b2
cmake: use option() for STATIC (Ben Boeckel)c24d22b
cmake: clean up if auto-dereferencing (Ben Boeckel)9ed415a
build: inform the build of what generates version.h (Ben Boeckel)eba180a
cmake: support git info in released tarballs (Ben Boeckel)eeffac6
cmake: fix up BOOST_IGNORE_SYSTEM_PATHS (Ben Boeckel)a43f1a8
cmake: remove configuration variables (Ben Boeckel)a87ce09
cmake: factor out error messages (Ben Boeckel)9aa48b6
miniupnpc: clear out else/endfoo command arguments (Ben Boeckel)8a86ac8
daemon_tests: update cmake code (Ben Boeckel)fa3ff75
gtest: support an external gtest (Ben Boeckel)7bfcffa
cmake: put each test executable in its own directory (Ben Boeckel)f53f047
cmake: handle private vs. public headers (Ben Boeckel)55ca7d3
cmake: refactor common code with libraries (Ben Boeckel)c773f46
cmake: refactor common code with executables (Ben Boeckel)89cff7b
cmake: put each library into its own directory (Ben Boeckel)
commit
ab7c6c07e7
@ -1,2 +1,2 @@
|
||||
.git* export-ignore
|
||||
/CMakeLists.txt export-subst
|
||||
version.cmake export-subst
|
||||
|
@ -0,0 +1,201 @@
|
||||
cmake_minimum_required(VERSION 2.8.7)
|
||||
|
||||
project(unbound C)
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
find_package(Threads)
|
||||
|
||||
include(configure_checks.cmake)
|
||||
|
||||
if (WIN32)
|
||||
set(USE_MINI_EVENT 1)
|
||||
set(USE_WINSOCK 1)
|
||||
else ()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBEVENT2 REQUIRED libevent)
|
||||
endif ()
|
||||
|
||||
set(RETSIGTYPE void)
|
||||
|
||||
add_definitions(-D_GNU_SOURCE)
|
||||
|
||||
option(USE_ECDSA "Use ECDSA algorithms" ON)
|
||||
option(USE_SHA2 "Enable SHA2 support" ON)
|
||||
set(ENABLE_DNSTAP 0)
|
||||
set(HAVE_SSL 1)
|
||||
if (CMAKE_USE_PTHREADS_INIT AND NOT CMAKE_USE_WIN32_THREADS_INIT)
|
||||
set(HAVE_PTHREAD 1)
|
||||
else ()
|
||||
set(HAVE_PTHREAD 0)
|
||||
endif ()
|
||||
if (CMAKE_USE_WIN32_THREADS_INIT)
|
||||
set(HAVE_WINDOWS_THREADS 1)
|
||||
else ()
|
||||
set(HAVE_WINDOWS_THREADS 0)
|
||||
endif ()
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/config.h")
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/dnstap/dnstap_config.h.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/dnstap/dnstap_config.h")
|
||||
|
||||
set(common_src
|
||||
services/cache/dns.c
|
||||
services/cache/infra.c
|
||||
services/cache/rrset.c
|
||||
util/data/dname.c
|
||||
util/data/msgencode.c
|
||||
util/data/msgparse.c
|
||||
util/data/msgreply.c
|
||||
util/data/packed_rrset.c
|
||||
iterator/iterator.c
|
||||
iterator/iter_delegpt.c
|
||||
iterator/iter_donotq.c
|
||||
iterator/iter_fwd.c
|
||||
iterator/iter_hints.c
|
||||
iterator/iter_priv.c
|
||||
iterator/iter_resptype.c
|
||||
iterator/iter_scrub.c
|
||||
iterator/iter_utils.c
|
||||
services/listen_dnsport.c
|
||||
services/localzone.c
|
||||
services/mesh.c
|
||||
services/modstack.c
|
||||
services/outbound_list.c
|
||||
services/outside_network.c
|
||||
util/alloc.c
|
||||
util/config_file.c
|
||||
util/configlexer.c
|
||||
util/configparser.c
|
||||
util/fptr_wlist.c
|
||||
util/locks.c
|
||||
util/log.c
|
||||
util/mini_event.c
|
||||
util/module.c
|
||||
util/netevent.c
|
||||
util/net_help.c
|
||||
util/random.c
|
||||
util/rbtree.c
|
||||
util/regional.c
|
||||
util/rtt.c
|
||||
util/storage/dnstree.c
|
||||
util/storage/lookup3.c
|
||||
util/storage/lruhash.c
|
||||
util/storage/slabhash.c
|
||||
util/timehist.c
|
||||
util/tube.c
|
||||
util/winsock_event.c
|
||||
validator/autotrust.c
|
||||
validator/val_anchor.c
|
||||
validator/validator.c
|
||||
validator/val_kcache.c
|
||||
validator/val_kentry.c
|
||||
validator/val_neg.c
|
||||
validator/val_nsec3.c
|
||||
validator/val_nsec.c
|
||||
validator/val_secalgo.c
|
||||
validator/val_sigcrypt.c
|
||||
validator/val_utils.c
|
||||
dns64/dns64.c
|
||||
|
||||
#$(CHECKLOCK_SRC)
|
||||
testcode/checklocks.c)
|
||||
|
||||
set(compat_src)
|
||||
|
||||
foreach (symbol IN ITEMS ctime_r gmtime_r inet_aton inet_ntop inet_pton malloc memcmp memmove snprintf strlcat strlcpy strptime explicit_bzero arc4random arc4random_uniform sha512)
|
||||
string(TOUPPER "${symbol}" upper_sym)
|
||||
if (NOT HAVE_${upper_sym})
|
||||
list(APPEND compat_src
|
||||
compat/${symbol}.c)
|
||||
endif ()
|
||||
endforeach ()
|
||||
|
||||
if (NOT HAVE_ARC4RANDOM)
|
||||
list(APPEND compat_src
|
||||
compat/arc4_lock.c)
|
||||
endif ()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
list(APPEND compat_src
|
||||
compat/getentropy_linux.c)
|
||||
elseif (APPLE)
|
||||
list(APPEND compat_src
|
||||
compat/getentropy_osx.c)
|
||||
#elseif (SunOS)
|
||||
# list(APPEND compat_src
|
||||
# compat/getentropy_solaris.c)
|
||||
elseif (WIN32)
|
||||
list(APPEND compat_src
|
||||
compat/getentropy_win.c)
|
||||
endif ()
|
||||
|
||||
if (NOT HAVE_GETADDRINFO)
|
||||
list(APPEND compat_src
|
||||
compat/fake-rfc2553.c)
|
||||
endif ()
|
||||
|
||||
set(sldns_src
|
||||
ldns/keyraw.c
|
||||
ldns/sbuffer.c
|
||||
ldns/wire2str.c
|
||||
ldns/parse.c
|
||||
ldns/parseutil.c
|
||||
ldns/rrdef.c
|
||||
ldns/str2wire.c)
|
||||
|
||||
set(libunbound_src
|
||||
libunbound/context.c
|
||||
libunbound/libunbound.c
|
||||
libunbound/libworker.c)
|
||||
|
||||
include_directories("${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
include_directories("${CMAKE_CURRENT_BINARY_DIR}")
|
||||
include_directories(SYSTEM ${OPENSSL_INCLUDE_DIR})
|
||||
if (LIBEVENT2_FOUND)
|
||||
include_directories(SYSTEM ${LIBEVENT2_INCLUDE_DIRS})
|
||||
link_directories(${LIBEVENT2_LIBRARY_DIRS})
|
||||
endif ()
|
||||
add_library(unbound
|
||||
${common_src}
|
||||
${sldns_src}
|
||||
${compat_src}
|
||||
${libunbound_src})
|
||||
target_link_libraries(unbound
|
||||
LINK_PRIVATE
|
||||
${OPENSSL_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT})
|
||||
if (LIBEVENT2_FOUND)
|
||||
target_link_libraries(unbound
|
||||
LINK_PRIVATE
|
||||
${LIBEVENT2_LIBRARIES})
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
target_link_libraries(unbound
|
||||
LINK_PRIVATE
|
||||
iphlpapi
|
||||
ws2_32)
|
||||
endif ()
|
||||
|
||||
# XXX: Hack for static builds.
|
||||
set(LIBEVENT2_LIBDIR
|
||||
"${LIBEVENT2_LIBDIR}"
|
||||
PARENT_SCOPE)
|
||||
|
||||
if (MINGW)
|
||||
# There is no variable for this (probably due to the fact that the pthread
|
||||
# library is implicit with a link in msys).
|
||||
find_library(win32pthread
|
||||
NAMES libwinpthread-1.dll)
|
||||
foreach (input IN LISTS win32pthread OPENSSL_LIBRARIES)
|
||||
# Copy shared libraries into the build tree so that no PATH manipulation is
|
||||
# necessary.
|
||||
get_filename_component(name "${input}" NAME)
|
||||
configure_file(
|
||||
"${input}"
|
||||
"${CMAKE_BINARY_DIR}/bin/${name}"
|
||||
COPYONLY)
|
||||
endforeach ()
|
||||
endif ()
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,218 @@
|
||||
include(CheckIncludeFile)
|
||||
include(CheckFunctionExists)
|
||||
include(CheckSymbolExists)
|
||||
include(CheckTypeSize)
|
||||
|
||||
# Need expat.
|
||||
|
||||
check_include_file(arpa/inet.h HAVE_ARPA_INET_H)
|
||||
check_include_file(endian.h HAVE_ENDIAN_H)
|
||||
check_include_file(dlfcn.h HAVE_DLFCN_H)
|
||||
check_include_file(event.h HAVE_EVENT_H)
|
||||
check_include_file(getopt.h HAVE_GETOPT_H)
|
||||
check_include_file(glob.h HAVE_GLOB_H)
|
||||
check_include_file(grp.h HAVE_GRP_H)
|
||||
check_include_file(inttypes.h HAVE_INTTYPES_H)
|
||||
check_include_file(iphlpapi.h HAVE_IPHLPAPI_H)
|
||||
check_include_file(login_cap.h HAVE_LOGIN_CAP_H)
|
||||
check_include_file(memory.h HAVE_MEMORY_H)
|
||||
check_include_file(netdb.h HAVE_NETDB_H)
|
||||
check_include_file(netinet/in.h HAVE_NETINET_IN_H)
|
||||
check_include_file(pwd.h HAVE_PWD_H)
|
||||
check_include_file(stdarg.h HAVE_STDARG_H)
|
||||
check_include_file(stdbool.h HAVE_STDBOOL_H)
|
||||
check_include_file(stdint.h HAVE_STDINT_H)
|
||||
check_include_file(stdlib.h HAVE_STDLIB_H)
|
||||
check_include_file(strings.h HAVE_STRINGS_H)
|
||||
check_include_file(string.h HAVE_STRING_H)
|
||||
check_include_file(sys/param.h HAVE_SYS_PARAM_H)
|
||||
check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H)
|
||||
check_include_file(sys/sha2.h HAVE_SYS_SHA2_H)
|
||||
check_include_file(sys/socket.h HAVE_SYS_SOCKET_H)
|
||||
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
|
||||
check_include_file(sys/sysctl.h HAVE_SYS_SYSCTL_H)
|
||||
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
|
||||
check_include_file(sys/uio.h HAVE_SYS_UIO_H)
|
||||
check_include_file(sys/wait.h HAVE_SYS_WAIT_H)
|
||||
check_include_file(syslog.h HAVE_SYSLOG_H)
|
||||
check_include_file(time.h HAVE_TIME_H)
|
||||
check_include_file(unistd.h HAVE_UNISTD_H)
|
||||
check_include_file(vfork.h HAVE_VFORK_H)
|
||||
check_include_file(windows.h HAVE_WINDOWS_H)
|
||||
check_include_file(winsock2.h HAVE_WINSOCK2_H)
|
||||
check_include_file(ws2tcpip.h HAVE_WS2TCPIP_H)
|
||||
|
||||
if (WIN32)
|
||||
set(CMAKE_REQUIRED_LIBRARIES
|
||||
iphlpapi
|
||||
ws2_32)
|
||||
endif ()
|
||||
|
||||
check_function_exists(arc4random HAVE_ARC4RANDOM)
|
||||
check_function_exists(arc4random_uniform HAVE_ARC4RANDOM_UNIFORM)
|
||||
check_function_exists(chown HAVE_CHOWN)
|
||||
check_function_exists(chroot HAVE_CHROOT)
|
||||
check_function_exists(ctime_r HAVE_CTIME_R)
|
||||
check_function_exists(daemon HAVE_DAEMON)
|
||||
check_function_exists(endprotoent HAVE_ENDPROTOENT)
|
||||
check_function_exists(endservent HAVE_ENDSERVENT)
|
||||
check_function_exists(fnctl HAVE_FNCTL)
|
||||
check_function_exists(fork HAVE_FORK)
|
||||
check_function_exists(fseeko HAVE_FSEEKO)
|
||||
check_function_exists(getentropy HAVE_GETENTROPY)
|
||||
check_function_exists(getpwnam HAVE_GETPWNAM)
|
||||
check_function_exists(getrlimit HAVE_GETRLIMIT)
|
||||
check_function_exists(glob HAVE_GLOB)
|
||||
check_function_exists(gmtime_r HAVE_GMTIME_R)
|
||||
check_function_exists(inet_aton HAVE_INET_ATON)
|
||||
check_function_exists(inet_ntop HAVE_INET_NTOP)
|
||||
check_function_exists(inet_pton HAVE_INET_PTON)
|
||||
check_function_exists(initgroups HAVE_INITGROUPS)
|
||||
check_function_exists(ioctlsocket HAVE_IOCTLSOCKET)
|
||||
check_function_exists(kill HAVE_KILL)
|
||||
check_function_exists(localtime_r HAVE_LOCALTIME_R)
|
||||
check_function_exists(malloc HAVE_MALLOC)
|
||||
check_function_exists(memmove HAVE_MEMMOVE)
|
||||
check_function_exists(random HAVE_RANDOM)
|
||||
check_function_exists(recvmsg HAVE_RECVMSG)
|
||||
check_function_exists(sbrk HAVE_SBRK)
|
||||
check_function_exists(sendmsg HAVE_SENDMSG)
|
||||
check_function_exists(setregid HAVE_SETREGID)
|
||||
check_function_exists(setresgid HAVE_SETRESGID)
|
||||
check_function_exists(setresuid HAVE_SETRESUID)
|
||||
check_function_exists(setreuid HAVE_SETREUID)
|
||||
check_function_exists(setrlimit HAVE_SETRLIMIT)
|
||||
check_function_exists(setsid HAVE_SETSID)
|
||||
check_function_exists(setusercontent HAVE_SETUSERCONTENT)
|
||||
check_function_exists(sigprocmask HAVE_SIGPROCMASK)
|
||||
check_function_exists(sleep HAVE_SLEEP)
|
||||
check_function_exists(snprintf HAVE_SNPRINTF)
|
||||
check_function_exists(socketpair HAVE_SOCKETPAIR)
|
||||
check_function_exists(srandom HAVE_SRANDOM)
|
||||
check_function_exists(strftime HAVE_STRFTIME)
|
||||
check_function_exists(strlcat HAVE_STRLCAT)
|
||||
check_function_exists(strlcpy HAVE_STRLCPY)
|
||||
check_function_exists(strptime HAVE_STRPTIME)
|
||||
check_function_exists(strlcpy HAVE_STRLCPY)
|
||||
check_function_exists(tzset HAVE_TZSET)
|
||||
check_function_exists(usleep HAVE_USLEEP)
|
||||
check_function_exists(writev HAVE_WRITEV)
|
||||
check_function_exists(_beginthreadex HAVE__BEGINTHREADEX)
|
||||
|
||||
set(getaddrinfo_headers)
|
||||
if (HAVE_NETDB_H)
|
||||
list(APPEND getaddrinfo_headers "netdb.h")
|
||||
endif ()
|
||||
if (HAVE_WS2TCPIP_H)
|
||||
list(APPEND getaddrinfo_headers "ws2tcpip.h")
|
||||
endif ()
|
||||
check_symbol_exists(getaddrinfo "${getaddrinfo_headers}" HAVE_GETADDRINFO)
|
||||
|
||||
check_function_exists(getaddrinfo HAVE_GETADDRINFO)
|
||||
|
||||
function (check_type_exists type variable header default)
|
||||
set(CMAKE_EXTRA_INCLUDE_FILES "${header}")
|
||||
check_type_size("${type}" "${variable}")
|
||||
|
||||
if (NOT HAVE_${type})
|
||||
set("${variable}" "${default}" PARENT_SCOPE)
|
||||
else ()
|
||||
set("${variable}" "FALSE" PARENT_SCOPE)
|
||||
endif ()
|
||||
endfunction ()
|
||||
|
||||
set(CMAKE_EXTRA_INCLUDE_FILES "time.h")
|
||||
check_type_size(time_t SIZEOF_TIME_T)
|
||||
set(CMAKE_EXTRA_INCLUDE_FILES)
|
||||
|
||||
check_type_exists(gid_t gid_t "sys/types.h" int)
|
||||
check_type_exists(in_addr_t in_addr_t "netinet/in.h" uint32_t)
|
||||
check_type_exists(in_port_t in_port_t "netinet/in.h" uint16_t)
|
||||
check_type_exists(int16_t int16_t "sys/types.h" short)
|
||||
check_type_exists(int32_t int32_t "sys/types.h" int)
|
||||
check_type_exists(int64_t int64_t "sys/types.h" __int64)
|
||||
check_type_exists(int8_t int8_t "sys/types.h" char)
|
||||
check_type_exists(pid_t pid_t "sys/types.h" int)
|
||||
check_type_exists(rlim_t rlim_t "sys/resource.h" "unsigned long")
|
||||
check_type_exists(ssize_t ssize_t "sys/types.h" int)
|
||||
check_type_exists(uid_t uid_t "sys/types.h" int)
|
||||
check_type_exists(uint16_t uint16_t "sys/types.h" "unsigned short")
|
||||
check_type_exists(uint32_t uint32_t "sys/types.h" "unsigned int")
|
||||
check_type_exists(uint64_t uint64_t "sys/types.h" "unsigned long long")
|
||||
check_type_exists(uint8_t uint8_t "sys/types.h" "unsigned char")
|
||||
|
||||
if (WIN32)
|
||||
set(UB_ON_WINDOWS 1)
|
||||
endif ()
|
||||
|
||||
if (MSVC)
|
||||
set(inline __inline)
|
||||
set(__func__ __FUNCTION__)
|
||||
endif ()
|
||||
|
||||
if (NOT HAVE_VFORK)
|
||||
set(vfork fork)
|
||||
endif ()
|
||||
|
||||
# XXX: Check for broken malloc()?
|
||||
# XXX: Check for broken memcmp()?
|
||||
# XXX: Check for broken vfork()?
|
||||
# XXX: Check for one-arg mkdir?
|
||||
|
||||
check_symbol_exists(PTHREAD_PRIO_INHERIT "pthread.h" HAVE_PTHREAD_PRIO_INHERIT)
|
||||
check_symbol_exists(pthread_rwlock_t "pthread.h" HAVE_PTHREAD_RWLOCK_T)
|
||||
check_symbol_exists(pthread_spinlock_t "pthread.h" HAVE_PTHREAD_SPINLOCK_T)
|
||||
|
||||
# openssl
|
||||
set(CMAKE_REQUIRED_INCLUDES
|
||||
${OPENSSL_INCLUDE_DIR})
|
||||
|
||||
check_include_file(openssl/conf.h HAVE_OPENSSL_CONF_H)
|
||||
check_include_file(openssl/engine.h HAVE_OPENSSL_ENGINE_H)
|
||||
check_include_file(openssl/err.h HAVE_OPENSSL_ERR_H)
|
||||
check_include_file(openssl/rand.h HAVE_OPENSSL_RAND_H)
|
||||
check_include_file(openssl/ssl.h HAVE_OPENSSL_SSL_H)
|
||||
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
|
||||
check_symbol_exists(NID_secp384r1 "openssl/evp.h" HAVE_DECL_NID_SECP384R1)
|
||||
check_symbol_exists(NID_X9_62_prime256v1 "openssl/evp.h" HAVE_DECL_NID_X9_62_PRIME256V1)
|
||||
check_symbol_exists(sk_SSL_COMP_pop_free "openssl/ssl.h" HAVE_DECL_SK_SSL_COMP_POP_FREE)
|
||||
check_symbol_exists(SSL_COMP_get_compression_methods "openssl/ssl.h" HAVE_DECL_SSL_COMP_GET_COMPRESSION_METHODS)
|
||||
|
||||
set(CMAKE_REQUIRED_LIBRARIES
|
||||
${OPENSSL_LIBRARIES})
|
||||
|
||||
check_function_exists(EVP_sha1 HAVE_EVP_SHA1)
|
||||
check_function_exists(EVP_sha256 HAVE_EVP_SHA256)
|
||||
check_function_exists(EVP_sha512 HAVE_EVP_SHA512)
|
||||
check_function_exists(FIPS_mode HAVE_FIPS_MODE)
|
||||
check_function_exists(HMAC_CTX_init HAVE_HMAC_CTX_INIT)
|
||||
check_function_exists(OPENSSL_config HAVE_OPENSSL_CONFIG)
|
||||
check_function_exists(SHA512_Update HAVE_SHA512_UPDATE)
|
||||
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
|
||||
set(UNBOUND_CONFIGFILE "${CMAKE_INSTALL_PREFIX}/etc/unbound/unbound.conf"
|
||||
CACHE STRING "default configuration file")
|
||||
set(UNBOUND_USERNAME "unbound"
|
||||
CACHE STRING "default user that unbound changes to")
|
||||
set(UNBOUND_CHROOT_DIR "${CMAKE_INSTALL_PREFIX}/etc/unbound"
|
||||
CACHE STRING "default directory to chroot to")
|
||||
set(UNBOUND_RUN_DIR "${CMAKE_INSTALL_PREFIX}/etc/unbound"
|
||||
CACHE STRING "default directory to chroot to")
|
||||
set(UNBOUND_SHARE_DIR "${CMAKE_INSTALL_PREFIX}/etc/unbound"
|
||||
CACHE STRING "default directory with shared data")
|
||||
set(UNBOUND_PIDFILE "${CMAKE_INSTALL_PREFIX}/etc/unbound/unbound.pid"
|
||||
CACHE STRING "default pathname to the pidfile")
|
||||
|
||||
# Copied from configure.ac.
|
||||
set(WINVER 0x0502)
|
||||
set(PACKAGE_VERSION "1.4.23")
|
||||
set(PACKAGE_NAME "${PROJECT_NAME}")
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
set(MAXSYSLOGMSGLEN 10240)
|
||||
|
||||
# Make assumptions.
|
||||
set(HAVE_WORKING_FORK ${HAVE_FORK})
|
||||
set(HAVE_WORKING_VFORK ${HAVE_VFORK})
|
@ -0,0 +1,64 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(common_sources
|
||||
base58.cpp
|
||||
command_line.cpp
|
||||
dns_utils.cpp
|
||||
util.cpp)
|
||||
|
||||
set(common_headers)
|
||||
|
||||
set(common_private_headers
|
||||
base58.h
|
||||
boost_serialization_helper.h
|
||||
command_line.h
|
||||
dns_utils.h
|
||||
int-util.h
|
||||
pod-class.h
|
||||
unordered_containers_boost_serialization.h
|
||||
util.h
|
||||
varint.h)
|
||||
|
||||
bitmonero_private_headers(common
|
||||
${common_private_headers})
|
||||
bitmonero_add_library(common
|
||||
${common_sources}
|
||||
${common_headers}
|
||||
${common_private_headers})
|
||||
target_link_libraries(common
|
||||
LINK_PRIVATE
|
||||
crypto
|
||||
${UNBOUND_LIBRARY}
|
||||
${Boost_DATE_TIME_LIBRARY}
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
||||
|
||||
#bitmonero_install_headers(common
|
||||
# ${common_headers})
|
@ -0,0 +1,45 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(connectivity_tool_sources
|
||||
conn_tool.cpp)
|
||||
|
||||
set(connectivity_tool_private_headers)
|
||||
|
||||
bitmonero_add_executable(connectivity_tool
|
||||
${connectivity_tool_sources}
|
||||
${connectivity_tool_private_headers})
|
||||
target_link_libraries(connectivity_tool
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
crypto
|
||||
common
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
||||
${Boost_REGEX_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY})
|
@ -0,0 +1,76 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(crypto_sources
|
||||
aesb.c
|
||||
blake256.c
|
||||
chacha8.c
|
||||
crypto-ops-data.c
|
||||
crypto-ops.c
|
||||
crypto.cpp
|
||||
groestl.c
|
||||
hash-extra-blake.c
|
||||
hash-extra-groestl.c
|
||||
hash-extra-jh.c
|
||||
hash-extra-skein.c
|
||||
hash.c
|
||||
jh.c
|
||||
keccak.c
|
||||
oaes_lib.c
|
||||
random.c
|
||||
skein.c
|
||||
slow-hash.c
|
||||
tree-hash.c)
|
||||
|
||||
set(crypto_headers)
|
||||
|
||||
set(crypto_private_headers
|
||||
blake256.h
|
||||
chacha8.h
|
||||
crypto-ops.h
|
||||
crypto.h
|
||||
generic-ops.h
|
||||
groestl.h
|
||||
groestl_tables.h
|
||||
hash-ops.h
|
||||
hash.h
|
||||
initializer.h
|
||||
jh.h
|
||||
keccak.h
|
||||
oaes_config.h
|
||||
oaes_lib.h
|
||||
random.h
|
||||
skein.h
|
||||
skein_port.h)
|
||||
|
||||
bitmonero_private_headers(crypto
|
||||
${crypto_private_headers})
|
||||
bitmonero_add_library(crypto
|
||||
${crypto_sources}
|
||||
${crypto_headers}
|
||||
${crypto_private_headers})
|
@ -0,0 +1,80 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(cryptonote_core_sources
|
||||
account.cpp
|
||||
blockchain_storage.cpp
|
||||
checkpoints.cpp
|
||||
checkpoints_create.cpp
|
||||
cryptonote_basic_impl.cpp
|
||||
cryptonote_core.cpp
|
||||
cryptonote_format_utils.cpp
|
||||
difficulty.cpp
|
||||
miner.cpp
|
||||
tx_pool.cpp)
|
||||
|
||||
set(cryptonote_core_headers)
|
||||
|
||||
set(cryptonote_core_private_headers
|
||||
account.h
|
||||
account_boost_serialization.h
|
||||
blockchain_storage.h
|
||||
blockchain_storage_boost_serialization.h
|
||||
checkpoints.h
|
||||
checkpoints_create.h
|
||||
connection_context.h
|
||||
cryptonote_basic.h
|
||||
cryptonote_basic_impl.h
|
||||
cryptonote_boost_serialization.h
|
||||
cryptonote_core.h
|
||||
cryptonote_format_utils.h
|
||||
cryptonote_stat_info.h
|
||||
difficulty.h
|
||||
miner.h
|
||||
tx_extra.h
|
||||
tx_pool.h
|
||||
verification_context.h)
|
||||
|
||||
bitmonero_private_headers(cryptonote_core
|
||||
${crypto_private_headers})
|
||||
bitmonero_add_library(cryptonote_core
|
||||
${cryptonote_core_sources}
|
||||
${cryptonote_core_headers}
|
||||
${cryptonote_core_private_headers})
|
||||
target_link_libraries(cryptonote_core
|
||||
LINK_PUBLIC
|
||||
common
|
||||
crypto
|
||||
${Boost_DATE_TIME_LIBRARY}
|
||||
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
||||
${Boost_SERIALIZATION_LIBRARY}
|
||||
LINK_PRIVATE
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
@ -0,0 +1,78 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(daemon_sources
|
||||
daemon.cpp)
|
||||
|
||||
set(daemon_headers)
|
||||
|
||||
set(daemon_private_headers
|
||||
daemon_commands_handler.h
|
||||
|
||||
# cryptonote_protocol
|
||||
../cryptonote_protocol/blobdatatype.h
|
||||
../cryptonote_protocol/cryptonote_protocol_defs.h
|
||||
../cryptonote_protocol/cryptonote_protocol_handler.h
|
||||
../cryptonote_protocol/cryptonote_protocol_handler.inl
|
||||
../cryptonote_protocol/cryptonote_protocol_handler_common.h
|
||||
|
||||
# p2p
|
||||
../p2p/net_node.h
|
||||
../p2p/net_node.inl
|
||||
../p2p/net_node_common.h
|
||||
../p2p/net_peerlist.h
|
||||
../p2p/net_peerlist_boost_serialization.h
|
||||
../p2p/p2p_protocol_defs.h
|
||||
../p2p/stdafx.h)
|
||||
|
||||
bitmonero_private_headers(daemon
|
||||
${daemon_private_headers})
|
||||
bitmonero_add_executable(daemon
|
||||
${daemon_sources}
|
||||
${daemon_headers}
|
||||
${daemon_private_headers})
|
||||
target_link_libraries(daemon
|
||||
LINK_PRIVATE
|
||||
rpc
|
||||
cryptonote_core
|
||||
crypto
|
||||
common
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
||||
${Boost_REGEX_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${UPNP_LIBRARIES}
|
||||
${EXTRA_LIBRARIES})
|
||||
add_dependencies(daemon
|
||||
version)
|
||||
set_property(TARGET daemon
|
||||
PROPERTY
|
||||
OUTPUT_NAME "bitmonerod")
|
@ -0,0 +1,55 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(simpleminer_sources
|
||||
simpleminer.cpp)
|
||||
|
||||
set(simpleminer_headers)
|
||||
|
||||
set(simpleminer_private_headers
|
||||
simpleminer.h
|
||||
simpleminer_protocol_defs.h
|
||||
target_helper.h)
|
||||
|
||||
bitmonero_private_headers(simpleminer
|
||||
${simpleminer_private_headers})
|
||||
bitmonero_add_executable(simpleminer
|
||||
${simpleminer_sources}
|
||||
${simpleminer_headers}
|
||||
${simpleminer_private_headers})
|
||||
target_link_libraries(simpleminer
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
common
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_PROGRAM_OPTIONS_LIBRARY}
|
||||
${Boost_REGEX_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${EXTRA_LIBRARIES})
|
@ -0,0 +1,52 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(mnemonics_sources
|
||||
electrum-words.cpp)
|
||||
|
||||
set(mnemonics_headers)
|
||||
|
||||
set(mnemonics_private_headers
|
||||
electrum-words.h
|
||||
english.h
|
||||
japanese.h
|
||||
language_base.h
|
||||
old_english.h
|
||||
portuguese.h
|
||||
singleton.h
|
||||
spanish.h)
|
||||
|
||||
bitmonero_private_headers(mnemonics
|
||||
${mnemonics_private_headers})
|
||||
bitmonero_add_library(mnemonics
|
||||
${mnemonics_sources}
|
||||
${mnemonics_headers}
|
||||
${mnemonics_private_headers})
|
||||
target_link_libraries(mnemonics
|
||||
LINK_PRIVATE
|
||||
${Boost_SYSTEM_LIBRARY})
|
@ -0,0 +1,54 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(rpc_sources
|
||||
core_rpc_server.cpp)
|
||||
|
||||
set(rpc_headers)
|
||||
|
||||
set(rpc_private_headers
|
||||
core_rpc_server.h
|
||||
core_rpc_server_commands_defs.h
|
||||
core_rpc_server_error_codes.h)
|
||||
|
||||
bitmonero_private_headers(rpc
|
||||
${rpc_private_headers})
|
||||
bitmonero_add_library(rpc
|
||||
${rpc_sources}
|
||||
${rpc_headers}
|
||||
${rpc_private_headers})
|
||||
target_link_libraries(rpc
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_REGEX_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
||||
add_dependencies(rpc
|
||||
version)
|
@ -0,0 +1,58 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(simplewallet_sources
|
||||
simplewallet.cpp
|
||||
password_container.cpp)
|
||||
|
||||
set(simplewallet_headers)
|
||||
|
||||
set(simplewallet_private_headers
|
||||
simplewallet.h
|
||||
password_container.h)
|
||||
|
||||
bitmonero_private_headers(simplewallet
|
||||
${simplewallet_private_headers})
|
||||
bitmonero_add_executable(simplewallet
|
||||
${simplewallet_sources}
|
||||
${simplewallet_headers}
|
||||
${simplewallet_private_headers})
|
||||
target_link_libraries(simplewallet
|
||||
LINK_PRIVATE
|
||||
wallet
|
||||
rpc
|
||||
cryptonote_core
|
||||
crypto
|
||||
common
|
||||
mnemonics
|
||||
${UNBOUND_LIBRARY}
|
||||
${UPNP_LIBRARIES}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${EXTRA_LIBRARIES})
|
||||
add_dependencies(simplewallet
|
||||
version)
|
@ -0,0 +1,56 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(wallet_sources
|
||||
wallet2.cpp
|
||||
wallet_rpc_server.cpp)
|
||||
|
||||
set(wallet_headers)
|
||||
|
||||
set(wallet_private_headers
|
||||
wallet2.h
|
||||
wallet_errors.h
|
||||
wallet_rpc_server.h
|
||||
wallet_rpc_server_commands_defs.h
|
||||
wallet_rpc_server_error_codes.h)
|
||||
|
||||
bitmonero_private_headers(wallet
|
||||
${wallet_private_headers})
|
||||
bitmonero_add_library(wallet
|
||||
${wallet_sources}
|
||||
${wallet_headers}
|
||||
${wallet_private_headers})
|
||||
target_link_libraries(wallet
|
||||
LINK_PUBLIC
|
||||
cryptonote_core
|
||||
mnemonics
|
||||
LINK_PRIVATE
|
||||
${Boost_SERIALIZATION_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
@ -0,0 +1,50 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(core_proxy_sources
|
||||
core_proxy.cpp)
|
||||
|
||||
set(core_proxy_headers
|
||||
core_proxy.h)
|
||||
|
||||
add_executable(core_proxy
|
||||
${core_proxy_sources}
|
||||
${core_proxy_headers})
|
||||
target_link_libraries(core_proxy
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
${UPNP_LIBRARIES}
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${EXPAT_LIBRARIES})
|
||||
set_property(TARGET core_proxy
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
@ -0,0 +1,74 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(core_tests_sources
|
||||
block_reward.cpp
|
||||
block_validation.cpp
|
||||
chain_split_1.cpp
|
||||
chain_switch_1.cpp
|
||||
chaingen.cpp
|
||||
chaingen001.cpp
|
||||
chaingen_main.cpp
|
||||
double_spend.cpp
|
||||
integer_overflow.cpp
|
||||
ring_signature_1.cpp
|
||||
transaction_tests.cpp
|
||||
tx_validation.cpp)
|
||||
|
||||
set(core_tests_headers
|
||||
block_reward.h
|
||||
block_validation.h
|
||||
chain_split_1.h
|
||||
chain_switch_1.h
|
||||
chaingen.h
|
||||
chaingen_tests_list.h
|
||||
double_spend.h
|
||||
double_spend.inl
|
||||
integer_overflow.h
|
||||
ring_signature_1.h
|
||||
transaction_tests.h
|
||||
tx_validation.h)
|
||||
|
||||
add_executable(coretests
|
||||
${core_tests_sources}
|
||||
${core_tests_headers})
|
||||
target_link_libraries(coretests
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${EXPAT_LIBRARIES}
|
||||
${EXTRA_LIBRARIES})
|
||||
set_property(TARGET coretests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
||||
|
||||
add_test(
|
||||
NAME coretests
|
||||
COMMAND coretests --generate_and_play_test_data)
|
@ -0,0 +1,50 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(crypto_sources
|
||||
crypto-ops-data.c
|
||||
crypto-ops.c
|
||||
crypto.cpp
|
||||
hash.c
|
||||
main.cpp
|
||||
random.c)
|
||||
|
||||
set(crypto_headers
|
||||
crypto-tests.h)
|
||||
|
||||
add_executable(crypto-tests
|
||||
${crypto_sources}
|
||||
${crypto_headers})
|
||||
target_link_libraries(crypto-tests)
|
||||
set_property(TARGET crypto-tests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
||||
|
||||
add_test(
|
||||
NAME crypto
|
||||
COMMAND crypto-tests "${CMAKE_CURRENT_SOURCE_DIR}/tests.txt")
|
@ -1,5 +1,51 @@
|
||||
add_executable(transfers transfers.cpp)
|
||||
target_link_libraries(transfers useragent rpc cryptonote_core crypto common epee gtest_main ${Boost_LIBRARIES})
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test_transfers)
|
||||
add_custom_target(test_transfers COMMAND transfers WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test_transfers)
|
||||
set(transfers_sources
|
||||
transfers.cpp)
|
||||
|
||||
set(transfers_headers)
|
||||
|
||||
add_executable(transfers
|
||||
${transfers_sources}
|
||||
${transfers_headers})
|
||||
target_link_libraries(transfers
|
||||
LINK_PRIVATE
|
||||
useragent
|
||||
rpc
|
||||
cryptonote_core
|
||||
crypto
|
||||
common
|
||||
epee
|
||||
${GTEST_MAIN_LIBRARIES}
|
||||
${Boost_LIBRARIES})
|
||||
|
||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_transfers")
|
||||
add_custom_target(test_transfers
|
||||
COMMAND transfers
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_transfers")
|
||||
|
@ -0,0 +1,46 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(difficulty_sources
|
||||
difficulty.cpp)
|
||||
|
||||
set(difficulty_headers)
|
||||
|
||||
add_executable(difficulty-tests
|
||||
${difficulty_sources}
|
||||
${difficulty_headers})
|
||||
target_link_libraries(difficulty-tests
|
||||
LINK_PRIVATE
|
||||
cryptonote_core)
|
||||
set_property(TARGET difficulty-tests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
||||
|
||||
add_test(
|
||||
NAME difficulty
|
||||
COMMAND difficulty-tests "${CMAKE_CURRENT_SOURCE_DIR}/data.txt")
|
@ -0,0 +1,53 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(functional_tests_sources
|
||||
main.cpp
|
||||
transactions_flow_test.cpp
|
||||
transactions_generation_from_blockchain.cpp)
|
||||
|
||||
set(functional_tests_headers
|
||||
transactions_flow_test.h
|
||||
transactions_generation_from_blockchain.h)
|
||||
|
||||
add_executable(functional_tests
|
||||
${functional_tests_sources}
|
||||
${functional_tests_headers})
|
||||
target_link_libraries(functional_tests
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
wallet
|
||||
common
|
||||
crypto
|
||||
${UNBOUND_LIBRARY}
|
||||
${Boost_REGEX_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${EXTRA_LIBRARIES})
|
||||
set_property(TARGET functional_tests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
@ -0,0 +1,48 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(hash_sources
|
||||
main.cpp)
|
||||
|
||||
set(hash_headers)
|
||||
|
||||
add_executable(hash-tests
|
||||
${hash_sources}
|
||||
${hash_headers})
|
||||
target_link_libraries(hash-tests
|
||||
LINK_PRIVATE
|
||||
crypto)
|
||||
set_property(TARGET hash-tests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
||||
|
||||
foreach (hash IN ITEMS fast slow tree extra-blake extra-groestl extra-jh extra-skein)
|
||||
add_test(
|
||||
NAME "hash-${hash}"
|
||||
COMMAND hash-tests "${hash}" "${CMAKE_CURRENT_SOURCE_DIR}/tests-${hash}.txt")
|
||||
endforeach ()
|
@ -0,0 +1,74 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(clt_sources
|
||||
clt.cpp)
|
||||
|
||||
set(clt_headers
|
||||
net_load_tests.h)
|
||||
|
||||
add_executable(net_load_tests_clt
|
||||
${clt_sources}
|
||||
${clt_headers})
|
||||
target_link_libraries(net_load_tests_clt
|
||||
LINK_PRIVATE
|
||||
${GTEST_MAIN_LIBRARIES}
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_DATE_TIME_LIBRARY}
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
||||
|
||||
set(srv_sources
|
||||
srv.cpp)
|
||||
|
||||
set(srv_headers
|
||||
net_load_tests.h)
|
||||
|
||||
add_executable(net_load_tests_srv
|
||||
${srv_sources}
|
||||
${srv_headers})
|
||||
target_link_libraries(net_load_tests_srv
|
||||
LINK_PRIVATE
|
||||
${GTEST_MAIN_LIBRARIES}
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_DATE_TIME_LIBRARY}
|
||||
${Boost_FILESYSTEM_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
||||
|
||||
set_property(TARGET net_load_tests_clt net_load_tests_srv
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
||||
if(NOT MSVC)
|
||||
set_property(TARGET net_load_tests_clt net_load_tests_srv APPEND_STRING
|
||||
PROPERTY
|
||||
COMPILE_FLAGS " -Wno-undef -Wno-sign-compare")
|
||||
endif()
|
@ -0,0 +1,61 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(performance_tests_sources
|
||||
main.cpp)
|
||||
|
||||
set(performance_tests_headers
|
||||
check_ring_signature.h
|
||||
cn_slow_hash.h
|
||||
construct_tx.h
|
||||
derive_public_key.h
|
||||
derive_secret_key.h
|
||||
generate_key_derivation.h
|
||||
generate_key_image.h
|
||||
generate_key_image_helper.h
|
||||
is_out_to_acc.h
|
||||
multi_tx_test_base.h
|
||||
performance_tests.h
|
||||
performance_utils.h
|
||||
single_tx_test_base.h)
|
||||
|
||||
add_executable(performance_tests
|
||||
${performance_tests_sources}
|
||||
${performance_tests_headers})
|
||||
target_link_libraries(performance_tests
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
common
|
||||
crypto
|
||||
${UNBOUND_LIBRARY}
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${CMAKE_THREAD_LIBS_INIT}
|
||||
${EXTRA_LIBRARIES})
|
||||
set_property(TARGET performance_tests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
@ -0,0 +1,80 @@
|
||||
# Copyright (c) 2014, The Monero Project
|
||||
#
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without modification, are
|
||||
# permitted provided that the following conditions are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
||||
# conditions and the following disclaimer.
|
||||
#
|
||||
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
||||
# of conditions and the following disclaimer in the documentation and/or other
|
||||
# materials provided with the distribution.
|
||||
#
|
||||
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
||||
# used to endorse or promote products derived from this software without specific
|
||||
# prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
set(unit_tests_sources
|
||||
address_from_url.cpp
|
||||
base58.cpp
|
||||
block_reward.cpp
|
||||
chacha8.cpp
|
||||
checkpoints.cpp
|
||||
decompose_amount_into_digits.cpp
|
||||
dns_resolver.cpp
|
||||
epee_boosted_tcp_server.cpp
|
||||
epee_levin_protocol_handler_async.cpp
|
||||
get_xtype_from_string.cpp
|
||||
main.cpp
|
||||
mnemonics.cpp
|
||||
mul_div.cpp
|
||||
parse_amount.cpp
|
||||
serialization.cpp
|
||||
slow_memmem.cpp
|
||||
test_format_utils.cpp
|
||||
test_peerlist.cpp
|
||||
test_protocol_pack.cpp)
|
||||
|
||||
set(unit_tests_headers
|
||||
unit_tests_utils.h)
|
||||
|
||||
add_executable(unit_tests
|
||||
${unit_tests_sources}
|
||||
${unit_tests_headers})
|
||||
target_link_libraries(unit_tests
|
||||
LINK_PRIVATE
|
||||
cryptonote_core
|
||||
rpc
|
||||
wallet
|
||||
${GTEST_MAIN_LIBRARIES}
|
||||
${Boost_CHRONO_LIBRARY}
|
||||
${Boost_REGEX_LIBRARY}
|
||||
${Boost_SYSTEM_LIBRARY}
|
||||
${Boost_THREAD_LIBRARY}
|
||||
${EXTRA_LIBRARIES})
|
||||
set_property(TARGET unit_tests
|
||||
PROPERTY
|
||||
FOLDER "tests")
|
||||
|
||||
if (NOT MSVC)
|
||||
set_property(TARGET unit_tests
|
||||
APPEND_STRING
|
||||
PROPERTY
|
||||
COMPILE_FLAGS " -Wno-undef -Wno-sign-compare")
|
||||
endif ()
|
||||
|
||||
add_test(
|
||||
NAME unit_tests
|
||||
COMMAND unit_tests)
|
@ -0,0 +1,33 @@
|
||||
function (write_static_version_header hash)
|
||||
set(VERSIONTAG "${hash}")
|
||||
configure_file("src/version.h.in" "version/version.h")
|
||||
add_custom_target(version ALL)
|
||||
endfunction ()
|
||||
|
||||
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/version")
|
||||
find_package(Git QUIET)
|
||||
if ("$Format:$" STREQUAL "")
|
||||
# We're in a tarball; use hard-coded variables.
|
||||
write_static_version_header("release")
|
||||
elseif (GIT_FOUND OR Git_FOUND)
|
||||
message(STATUS "Found Git: ${GIT_EXECUTABLE}")
|
||||
set(extra_output)
|
||||
if (CMAKE_GENERATOR MATCHES "Ninja")
|
||||
# Ninja will not rerun the command every time if the file doesn't change,
|
||||
# so inject this bogus output so that it always runs.
|
||||
set(extra_output "${CMAKE_SOURCE_DIR}/.force-git-version-check")
|
||||
endif ()
|
||||
add_custom_command(
|
||||
OUTPUT "${CMAKE_BINARY_DIR}/version/version.h"
|
||||
${extra_output}
|
||||
COMMAND "${CMAKE_COMMAND}"
|
||||
"-D" "GIT=${GIT_EXECUTABLE}"
|
||||
"-D" "TO=${CMAKE_BINARY_DIR}/version/version.h"
|
||||
"-P" "src/version.cmake"
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}")
|
||||
add_custom_target(version ALL
|
||||
DEPENDS "${CMAKE_BINARY_DIR}/version/version.h")
|
||||
else()
|
||||
message(STATUS "WARNING: Git was not found!")
|
||||
write_static_version_header("unknown")
|
||||
endif ()
|
Loading…
Reference in new issue