-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit e03269e
Showing
139 changed files
with
77,325 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
*.a | ||
*.sw* | ||
|
||
*.cmake | ||
CMakeCache.txt | ||
CMakeFiles | ||
Makefile | ||
compile_commands.json | ||
moc_* | ||
*.moc | ||
|
||
genesis.json | ||
hardfork.hpp | ||
|
||
libraries/utilities/git_revision.cpp | ||
|
||
libraries/wallet/Doxyfile | ||
libraries/wallet/api_documentation.cpp | ||
libraries/wallet/doxygen | ||
|
||
programs/cli_wallet/cli_wallet | ||
programs/js_operation_serializer/js_operation_serializer | ||
programs/witness_node/witness_node | ||
|
||
tests/app_test | ||
tests/chain_bench | ||
tests/chain_test | ||
tests/intense_test | ||
tests/performance_test | ||
|
||
doxygen | ||
|
||
wallet.json | ||
witness_node_data_dir | ||
|
||
*.wallet | ||
|
||
programs/witness_node/object_database/* | ||
|
||
object_database/* | ||
|
||
*.pyc | ||
*.pyo | ||
|
||
build/* | ||
build-debug/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
[submodule "libraries/fc"] | ||
path = libraries/fc | ||
url = https://github.com/bitshares/bitshares-fc.git | ||
ignore = dirty | ||
[submodule "libraries/chainbase"] | ||
path = libraries/chainbase | ||
url = https://github.com/bytemaster/chainbase | ||
[submodule "libraries/wren"] | ||
path = libraries/wren | ||
url = https://github.com/bytemaster/wren.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,203 @@ | ||
# Defines Eos library target. | ||
project( Eos ) | ||
cmake_minimum_required( VERSION 2.8.12 ) | ||
|
||
set( BLOCKCHAIN_NAME "BitShares" ) | ||
|
||
set( CLI_CLIENT_EXECUTABLE_NAME eos_client ) | ||
set( GUI_CLIENT_EXECUTABLE_NAME eos ) | ||
set( CUSTOM_URL_SCHEME "gcs" ) | ||
set( INSTALLER_APP_ID "68ad7005-8eee-49c9-95ce-9eed97e5b347" ) | ||
|
||
# http://stackoverflow.com/a/18369825 | ||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") | ||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8) | ||
message(FATAL_ERROR "GCC version must be at least 4.8!") | ||
endif() | ||
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.3) | ||
message(FATAL_ERROR "Clang version must be at least 3.3!") | ||
endif() | ||
endif() | ||
|
||
list( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" ) | ||
|
||
set(CMAKE_EXPORT_COMPILE_COMMANDS "ON") | ||
set(EOS_EGENESIS_JSON "${CMAKE_CURRENT_SOURCE_DIR}/genesis.json" ) | ||
|
||
#set (ENABLE_INSTALLER 1) | ||
#set (USE_PCH 1) | ||
|
||
if (USE_PCH) | ||
include (cotire) | ||
endif(USE_PCH) | ||
|
||
list( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/fc/CMakeModules" ) | ||
list( APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/fc/GitVersionGen" ) | ||
include( GetGitRevisionDescription ) | ||
get_git_head_revision( GIT_REFSPEC GIT_SHA2 ) | ||
|
||
SET(BOOST_COMPONENTS) | ||
LIST(APPEND BOOST_COMPONENTS thread | ||
date_time | ||
system | ||
filesystem | ||
program_options | ||
signals | ||
serialization | ||
chrono | ||
unit_test_framework | ||
context | ||
locale) | ||
SET( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" ) | ||
|
||
IF( WIN32 ) | ||
SET(BOOST_ROOT $ENV{BOOST_ROOT}) | ||
set(Boost_USE_MULTITHREADED ON) | ||
set(BOOST_ALL_DYN_LINK OFF) # force dynamic linking for all libraries | ||
ENDIF(WIN32) | ||
|
||
FIND_PACKAGE(Boost 1.57 REQUIRED COMPONENTS ${BOOST_COMPONENTS}) | ||
# For Boost 1.53 on windows, coroutine was not in BOOST_LIBRARYDIR and do not need it to build, but if boost versin >= 1.54, find coroutine otherwise will cause link errors | ||
IF(NOT "${Boost_VERSION}" MATCHES "1.53(.*)") | ||
SET(BOOST_LIBRARIES_TEMP ${Boost_LIBRARIES}) | ||
FIND_PACKAGE(Boost 1.54 REQUIRED COMPONENTS coroutine) | ||
LIST(APPEND BOOST_COMPONENTS coroutine) | ||
SET(Boost_LIBRARIES ${BOOST_LIBRARIES_TEMP} ${Boost_LIBRARIES}) | ||
ENDIF() | ||
|
||
if( WIN32 ) | ||
|
||
message( STATUS "Configuring BitShares on WIN32") | ||
set( DB_VERSION 60 ) | ||
set( BDB_STATIC_LIBS 1 ) | ||
|
||
set( ZLIB_LIBRARIES "" ) | ||
SET( DEFAULT_EXECUTABLE_INSTALL_DIR bin/ ) | ||
|
||
set(CRYPTO_LIB) | ||
|
||
#looks like this flag can have different default on some machines. | ||
SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO") | ||
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") | ||
|
||
# Probably cmake has a bug and vcxproj generated for executable in Debug conf. has disabled debug info | ||
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /DEBUG") | ||
|
||
# On windows tcl should be installed to the directory pointed by setenv.bat script | ||
SET(TCL_INCLUDE_PATH $ENV{TCL_ROOT}/include) | ||
MESSAGE(STATUS "tcl INCLUDE PATH: ${TCL_INCLUDE_PATH}") | ||
|
||
FIND_PACKAGE(TCL) | ||
MESSAGE(STATUS "tcl_library: ${TCL_LIBRARY}") | ||
|
||
SET(TCL_LIBS "optimized;${TCL_LIBRARY};debug;") | ||
get_filename_component(TCL_LIB_PATH "${TCL_LIBRARY}" PATH) | ||
get_filename_component(TCL_LIB_NAME "${TCL_LIBRARY}" NAME_WE) | ||
get_filename_component(TCL_LIB_EXT "${TCL_LIBRARY}" EXT) | ||
|
||
SET(TCL_LIBS "${TCL_LIBS}${TCL_LIB_PATH}/${TCL_LIB_NAME}g${TCL_LIB_EXT}") | ||
SET(TCL_LIBRARY ${TCL_LIBS}) | ||
|
||
else( WIN32 ) # Apple AND Linux | ||
|
||
find_library(READLINE_LIBRARIES NAMES readline) | ||
find_path(READLINE_INCLUDE_DIR readline/readline.h) | ||
#if(NOT READLINE_INCLUDE_DIR OR NOT READLINE_LIBRARIES) | ||
# MESSAGE(FATAL_ERROR "Could not find lib readline.") | ||
#endif() | ||
|
||
if( APPLE ) | ||
# Apple Specific Options Here | ||
message( STATUS "Configuring BitShares on OS X" ) | ||
set( CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++11 -stdlib=libc++ -Wall" ) | ||
else( APPLE ) | ||
# Linux Specific Options Here | ||
message( STATUS "Configuring BitShares on Linux" ) | ||
set( CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -std=c++11 -Wall" ) | ||
set( rt_library rt ) | ||
set( pthread_library pthread) | ||
if ( NOT DEFINED crypto_library ) | ||
# I'm not sure why this is here, I guess someone has openssl and can't detect it with find_package()? | ||
# if you have a normal install, you can define crypto_library to the empty string to avoid a build error | ||
set( crypto_library crypto) | ||
endif () | ||
if ( FULL_STATIC_BUILD ) | ||
set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++ -static-libgcc") | ||
endif ( FULL_STATIC_BUILD ) | ||
endif( APPLE ) | ||
|
||
if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" ) | ||
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-builtin-memcmp" ) | ||
endif() | ||
|
||
if( "${CMAKE_GENERATOR}" STREQUAL "Ninja" ) | ||
if( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" ) | ||
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics" ) | ||
endif() | ||
endif() | ||
|
||
# based on http://www.delorie.com/gnu/docs/gdb/gdb_70.html | ||
# uncomment this line to tell GDB about macros (slows compile times) | ||
# set( CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -gdwarf-2 -g3" ) | ||
|
||
endif( WIN32 ) | ||
|
||
set(ENABLE_COVERAGE_TESTING FALSE CACHE BOOL "Build BitShares for code coverage analysis") | ||
|
||
if(ENABLE_COVERAGE_TESTING) | ||
SET(CMAKE_CXX_FLAGS "--coverage ${CMAKE_CXX_FLAGS}") | ||
endif() | ||
|
||
add_subdirectory( libraries ) | ||
add_subdirectory( programs ) | ||
add_subdirectory( tests ) | ||
|
||
if (ENABLE_INSTALLER) | ||
|
||
set(VERSION_MAJOR 0) | ||
set(VERSION_MINOR 1) | ||
set(VERSION_PATCH 0) | ||
|
||
|
||
include(InstallRequiredSystemLibraries) | ||
|
||
set(CPACK_OUTPUT_FILE_PREFIX ${CMAKE_BINARY_DIR}/packages) | ||
set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install) | ||
|
||
SET(CPACK_PACKAGE_DIRECTORY "${CMAKE_INSTALL_PREFIX}") | ||
set(CPACK_PACKAGE_NAME "eos") | ||
set(CPACK_PACKAGE_VENDOR "EOSIO") | ||
set(CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}") | ||
set(CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}") | ||
set(CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}") | ||
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") | ||
set(CPACK_PACKAGE_DESCRIPTION "A client for the BitShares network") | ||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A client for the BitShares network") | ||
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.md") | ||
set(CPACK_PACKAGE_INSTALL_DIRECTORY "BitShares ${CPACK_PACKAGE_VERSION}") | ||
|
||
if(WIN32) | ||
SET(CPACK_GENERATOR "ZIP;NSIS") | ||
set(CPACK_PACKAGE_NAME "BitShares") # override above | ||
set(CPACK_NSIS_EXECUTABLES_DIRECTORY .) | ||
set(CPACK_NSIS_PACKAGE_NAME "BitShares v${CPACK_PACKAGE_VERSION}") | ||
set(CPACK_NSIS_DISPLAY_NAME "${CPACK_NSIS_PACKAGE_NAME}") | ||
set(CPACK_NSIS_DEFINES " !define MUI_STARTMENUPAGE_DEFAULTFOLDER \\\"BitShares\\\"") | ||
# it seems like windows zip files usually don't have a single directory inside them, unix tgz frequently do | ||
SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0) | ||
|
||
endif(WIN32) | ||
|
||
if(APPLE) | ||
set(CPACK_GENERATOR "DragNDrop") | ||
endif() | ||
|
||
if(LINUX) | ||
# Linux gets a .tgz | ||
SET(CPACK_GENERATOR "TGZ") | ||
SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 1) | ||
endif(LINUX) | ||
|
||
include(CPack) | ||
endif(ENABLE_INSTALLER) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
# Tries to find Gperftools. | ||
# | ||
# Usage of this module as follows: | ||
# | ||
# find_package(Gperftools) | ||
# | ||
# Variables used by this module, they can change the default behaviour and need | ||
# to be set before calling find_package: | ||
# | ||
# Gperftools_ROOT_DIR Set this variable to the root installation of | ||
# Gperftools if the module has problems finding | ||
# the proper installation path. | ||
# | ||
# Variables defined by this module: | ||
# | ||
# GPERFTOOLS_FOUND System has Gperftools libs/headers | ||
# GPERFTOOLS_LIBRARIES The Gperftools libraries (tcmalloc & profiler) | ||
# GPERFTOOLS_INCLUDE_DIR The location of Gperftools headers | ||
|
||
find_library(GPERFTOOLS_TCMALLOC | ||
NAMES tcmalloc | ||
HINTS ${Gperftools_ROOT_DIR}/lib) | ||
|
||
find_library(GPERFTOOLS_PROFILER | ||
NAMES profiler | ||
HINTS ${Gperftools_ROOT_DIR}/lib) | ||
|
||
find_library(GPERFTOOLS_TCMALLOC_AND_PROFILER | ||
NAMES tcmalloc_and_profiler | ||
HINTS ${Gperftools_ROOT_DIR}/lib) | ||
|
||
find_path(GPERFTOOLS_INCLUDE_DIR | ||
NAMES gperftools/heap-profiler.h | ||
HINTS ${Gperftools_ROOT_DIR}/include) | ||
|
||
set(GPERFTOOLS_LIBRARIES ${GPERFTOOLS_TCMALLOC_AND_PROFILER}) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args( | ||
Gperftools | ||
DEFAULT_MSG | ||
GPERFTOOLS_LIBRARIES | ||
GPERFTOOLS_INCLUDE_DIR) | ||
|
||
mark_as_advanced( | ||
Gperftools_ROOT_DIR | ||
GPERFTOOLS_TCMALLOC | ||
GPERFTOOLS_PROFILER | ||
GPERFTOOLS_TCMALLOC_AND_PROFILER | ||
GPERFTOOLS_LIBRARIES | ||
GPERFTOOLS_INCLUDE_DIR) |
Oops, something went wrong.