Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

My FC work #12

Open
wants to merge 715 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
715 commits
Select commit Hold shift + click to select a range
5d8e9e1
fix remove appender()
oxarbitrage Jun 21, 2019
e907429
fix tests
oxarbitrage Jun 21, 2019
7ec8ead
chanmge comment from hostname to IP
oxarbitrage Jun 21, 2019
e336649
lambda capture only whats required
oxarbitrage Jun 21, 2019
e0dd942
Update build system for MinGW
crypto-ape Apr 4, 2019
c9b3d57
Updated Boost searching
crypto-ape Apr 9, 2019
8d33bb8
Fixed `pthread` dependency
crypto-ape Apr 23, 2019
c453db8
CMake version bump
crypto-ape Apr 23, 2019
b8a87bd
BoostConfig EOF newline
crypto-ape Apr 23, 2019
a2303d3
Updated CMake for MinGW
crypto-ape Apr 25, 2019
241f1f2
Legacy/CMakeLists.txt EOF newline
crypto-ape Apr 26, 2019
86b0250
Bumped Boost version
crypto-ape May 20, 2019
ab61720
Removed unneeded definitions
crypto-ape May 20, 2019
dfc0a35
Updated Boost Lockfree compilation test
crypto-ape May 20, 2019
b2c2a47
CheckLibcxxAtomic after Boost
crypto-ape Jul 8, 2019
e4b35e4
Update a comment to avoid confusing doxygen
abitmore Jul 18, 2019
2c5c308
Correctly close websocket API connection
abitmore Jul 19, 2019
cd49944
Merge pull request #142 from bitshares/fix-api-close
jmjatlanta Jul 19, 2019
a461d2f
Merge pull request #141 from bitshares/abitmore-patch-1
oxarbitrage Jul 21, 2019
94f77ff
Add hash160 md algo
jmjatlanta Jul 23, 2019
ea91282
Remove unnecessary predeclarations
jmjatlanta Jul 23, 2019
55e2abe
Fix spacing
jmjatlanta Jul 23, 2019
5681dd1
Add hash160 test
jmjatlanta Jul 24, 2019
966e9ea
Merge pull request #121 from crypto-ape/master_mingw
abitmore Jul 25, 2019
451ed46
Replace one more "new promise" with "promise::create"
pmconrad Jun 24, 2019
e160afc
Attempt to fix uint128 for mac
pmconrad Jun 24, 2019
c8f3e45
Use array::data instead of array::begin
pmconrad Jun 24, 2019
6008c96
Allow more space for windows sockets due to fc::future changes
pmconrad Jun 24, 2019
ce79181
Replaced more instances of array::begin with array::data
pmconrad Jul 26, 2019
a9a6cb9
Replaced more begin() with data()
pmconrad Jul 29, 2019
cabab23
Replaced more array::begin() with data()
pmconrad Aug 2, 2019
42be69c
Removed unused var
pmconrad Aug 2, 2019
fd0b197
bump websocketpp for Boost 1.70
jmjatlanta Aug 5, 2019
2dc5ad8
Try to work around __int128 problem on mac
pmconrad Aug 5, 2019
d8bec3d
Resolved another begin/data inconsistency
pmconrad Aug 5, 2019
e45a449
Fixed type of chr37
pmconrad Aug 5, 2019
24f7478
Merge pull request #144 from bitshares/jmj_ws_boost170
jmjatlanta Aug 7, 2019
d3c85a8
Fix cmake warning
pmconrad Aug 11, 2019
06f8897
Resolve #1898: Fix crash in API
nathanielhourt Aug 11, 2019
82af8b5
Merge pull request #140 from pmconrad/1584_more_simplification
jmjatlanta Aug 13, 2019
7b6c359
Update test case for optional API arguments
abitmore Aug 13, 2019
17c4639
Merge pull request #145 from nathanhourt/bts_1898
abitmore Aug 13, 2019
8426b45
Increase size for Boost 1.70
jmjatlanta Aug 13, 2019
f7a1e53
Merge pull request #146 from bitshares/optional-api-fix
abitmore Aug 13, 2019
91d8772
Merge pull request #147 from bitshares/jmj_winfix
jmjatlanta Aug 13, 2019
a1c2ff9
support openbsd // make code compliant with clang
crypto-ape Aug 13, 2019
cb5f7d3
support openbsd // get rid of alloca
crypto-ape Aug 13, 2019
4ac6887
support openbsd // compile with libressl
crypto-ape Aug 13, 2019
727e09e
support openbsd // implement tcp keep-alive polling
crypto-ape Aug 13, 2019
3f1096d
Remove custom FindBoost.cmake
jmjatlanta Aug 16, 2019
c94abf7
Merge pull request #148 from crypto-ape/support_building_on_open_bsd
pmconrad Aug 17, 2019
699238f
Fix build with older cmake
pmconrad Aug 17, 2019
7b37cd6
Fix core #1935
pmconrad Aug 19, 2019
71f5348
Merge pull request #150 from pmconrad/tcp_socket_size
pmconrad Aug 20, 2019
1eebd3c
Merge pull request #149 from bitshares/jmj_cmake
jmjatlanta Aug 20, 2019
81cc84c
Fix core #1948 - editline does not build
pmconrad Aug 21, 2019
ea85954
Adjust whitespace
pmconrad Aug 21, 2019
1d2d9bf
Merge pull request #151 from pmconrad/1948_fix_editline
pmconrad Aug 21, 2019
78ffb6d
Possible fix for core #1952
pmconrad Aug 22, 2019
5bb0254
fix array declaration for broken msvc static expression evaluation
crypto-ape Aug 26, 2019
9f7f1b4
Replace improper static_variant operator overloads with comparators
nathanielhourt Aug 28, 2019
cce644f
Fix warnings
nathanielhourt Aug 29, 2019
7954c4a
Merge pull request #155 from bitshares/nathanhourt-fix-logger-warnings
nathanielhourt Aug 29, 2019
9e81e1d
Merge pull request #153 from crypto-ape/fix_for_msvc_broken_static_ev…
pmconrad Aug 30, 2019
45cb433
Fixes from code review
nathanielhourt Aug 30, 2019
7a47586
Merge pull request #152 from pmconrad/1952_fix_assert
pmconrad Aug 30, 2019
5278a12
Merge pull request #154 from nathanhourt/sv_overloads
nathanielhourt Aug 30, 2019
c69ea32
Improve reflection system and static_variant
nathanielhourt Jul 9, 2019
78aaaac
Merge pull request #157 from bitshares/for-core-3-3
abitmore Aug 30, 2019
94cb185
Fix constexprs, unused code
nathanielhourt Aug 29, 2019
292584c
Add static_variant::operator==
nathanielhourt Aug 30, 2019
77a8290
Fix core #314 - Use windows default CAs for tls client connections
pmconrad Sep 1, 2019
4b7bcb9
Merge pull request #156 from nathanhourt/reflection-updates
nathanielhourt Sep 1, 2019
1699b0a
Fix build on updated G++
nathanielhourt Sep 1, 2019
7e69567
Merge pull request #158 from nathanhourt/master
nathanielhourt Sep 2, 2019
dadfe18
Add FC_REFLECT_DERIVED_NO_TYPENAME
nathanielhourt Sep 2, 2019
9db1417
Merge pull request #160 from nathanhourt/master
nathanielhourt Sep 2, 2019
869c75d
Merge pull request #159 from pmconrad/314_windows_default_cas
pmconrad Sep 6, 2019
2e50624
Check + rotate logs while logging not by scheduled task
pmconrad Sep 12, 2019
23761ba
Dont inline generic pack/unpack to enable externalized serialization
pmconrad May 13, 2019
a94d110
Get rid of some inlines
pmconrad May 15, 2019
1893cb3
Separate exception declaration and implementation
pmconrad May 20, 2019
5cd9f7d
Move log file deletion into separate task
pmconrad Sep 15, 2019
f6fd6a7
Avoid re-computing seconds
pmconrad Sep 15, 2019
f4866b7
Move helper classes into fc::detail
pmconrad Sep 16, 2019
8c9f715
Moved stuff into fc::test namespace
pmconrad Sep 16, 2019
7b98c69
Delete copy constructor + copy assignment in openssl type wrappers
pmconrad Sep 16, 2019
2b3611f
Delete copy constructor + copy assignment in tcp_socket
pmconrad Sep 16, 2019
e168b64
Avoid time calculation when not rotating
pmconrad Sep 17, 2019
f052ac9
Merge pull request #166 from pmconrad/copy_safety
pmconrad Sep 17, 2019
bae416a
Merge pull request #162 from pmconrad/1982_rotate_logs
pmconrad Sep 17, 2019
d729816
Changes to avoid conflict in following cherry-pick
pmconrad Sep 18, 2019
2eb047a
Add exception handling to to_string and to_detail_string
heifner May 22, 2018
3583ee6
Fix non-void function return value
spartucus May 30, 2018
5b8a7c2
Partial revert "Changes to avoid conflict in following cherry-pick"
pmconrad Sep 18, 2019
164f1f6
Whitespace fixes
pmconrad Sep 18, 2019
20c1688
Removed superfluous return
pmconrad Sep 18, 2019
cd69d13
Replaced spin_yield_lock with atomics
pmconrad Sep 16, 2019
201b4b3
Print stacktrace when yielding within an exception handler
pmconrad Sep 16, 2019
ef52b39
Preserve crash in debug mode
pmconrad Sep 17, 2019
eb42ebb
Add log message
pmconrad Sep 17, 2019
4ce3775
Clean up before returning
pmconrad Sep 17, 2019
9077892
Log stacktrace instead of writing to stderr
pmconrad Sep 17, 2019
2cc32d7
Fixed assert
pmconrad Sep 17, 2019
b986bab
Merge pull request #167 from pmconrad/exception_format_fix
pmconrad Sep 19, 2019
5c0b9ed
Merge pull request #164 from pmconrad/1895_namespaces
pmconrad Sep 19, 2019
2343ab7
fix compilation errors
Sep 19, 2019
253c1d5
Added test for zero-initialized arrays
pmconrad Sep 20, 2019
afc0e00
Added zero_initialized_array template to restore functionality of fc:…
pmconrad Sep 19, 2019
ed479c8
Reformatting
pmconrad Sep 20, 2019
6d8d030
Merge pull request #165 from pmconrad/node_crashes
pmconrad Sep 21, 2019
ec77b49
Added std::tuple_size for master compatibility
pmconrad Sep 22, 2019
9593e5d
Merge pull request #170 from pmconrad/node_crashes
pmconrad Sep 23, 2019
2f77630
Merge pull request #169 from bitshares/for-core-3-3
abitmore Sep 23, 2019
4bdab0b
Removed checks for obsolete boost version numbers
pmconrad Sep 24, 2019
dd257e5
Merge pull request #171 from pmconrad/obsolete_boost
pmconrad Sep 25, 2019
6e22341
Fix warning in zeroed_array.hpp
nathanielhourt Nov 1, 2019
1d59bb3
Updated bloom_filter.hpp from https://github.com/ArashPartow/bloom/bl…
pmconrad Mar 8, 2018
7e07bc4
Get rid of most extra cmake modules
pmconrad Nov 2, 2019
e48941b
Merge pull request #175 from bitshares/nathanhourt-fix-warnings
nathanielhourt Nov 5, 2019
2f79730
GRPH134-Witness High CPU Issue, websocket changes
sierra19XX Nov 6, 2019
1f76279
Merge pull request #7 from satyakoneru/latest-fc
bobinson Nov 6, 2019
cdbe881
Removed unused reflection
pmconrad Nov 6, 2019
41aaa6c
Merge pull request #177 from bitshares/cmake_simplification
pmconrad Nov 6, 2019
e5ab69a
Merge pull request #176 from bitshares/bloom_update
pmconrad Nov 6, 2019
2ae775b
add license mit
oxarbitrage Feb 18, 2018
35b3c03
Document licensing and history
pmconrad Mar 1, 2018
9c34280
Update copyright notice
abitmore Mar 7, 2018
8c9b8a9
Updated license file
pmconrad Nov 2, 2019
0633515
Fixed stacktrace license
pmconrad Nov 2, 2019
ca43b6c
License clarification
pmconrad Nov 2, 2019
61f16df
Replaced "regime"
pmconrad Nov 7, 2019
ad3c881
Merge pull request #13 from bitshares/oxarbitrage-patch-2
pmconrad Nov 7, 2019
1d028b3
Fix potential out-of-bounds access
abitmore Nov 8, 2019
2568867
Merge pull request #178 from bitshares/abitmore-patch-1
abitmore Nov 8, 2019
d16ee31
Fix memory leak. Not all tasks are deleted in thread_d dtor
srpatel19590 Nov 12, 2019
4beb698
GRPH-46-AddQuitCommandToCliWallet - Add Quit command to CLI Wallet
sierra19XX Aug 19, 2019
0e0bc44
Added initial workflow
pmconrad Nov 18, 2019
453345c
Install boost
pmconrad Nov 18, 2019
540a996
Build and run in parallel
pmconrad Nov 18, 2019
f7f64ee
Add ccache
pmconrad Nov 18, 2019
005aa69
Attempt to fix tests
pmconrad Nov 18, 2019
bca3922
Merge pull request #8 from peerplays-network/feature/GRPH-147
pbattu123 Nov 21, 2019
7981ab0
Added badge to README
pmconrad Nov 25, 2019
56d9e4d
Fix for OSX build
pmconrad Nov 26, 2019
8474e84
Merge pull request #181 from pmconrad/2070_osx_fix
oxarbitrage Nov 26, 2019
1d8b63b
Merge pull request #182 from bitshares/for-core-4.0.x
pmconrad Nov 27, 2019
6e5fe1f
Fixed badge
pmconrad Nov 29, 2019
c851de8
Merge pull request #180 from pmconrad/2054_github_autobuild
pmconrad Nov 30, 2019
31e289c
Merge pull request #9 from peerplays-network/feature/GRPH-46
pbattu123 Dec 6, 2019
3b7e67a
Fixed busy-wait in delete_files
pmconrad Dec 10, 2019
463380d
Merge pull request #184 from pmconrad/2078_file_appender
pmconrad Dec 11, 2019
a8ffe6e
Merge branch 'latest-fc' into feature/GRPH-92
pbattu123 Jan 3, 2020
c30f3b7
Merge pull request #13 from gladcow/feature/GRPH-92
pbattu123 Jan 6, 2020
1cae4d3
Revert "Merge pull request #13 from gladcow/feature/GRPH-92"
pbattu123 Jan 6, 2020
a76b9ff
include fc build optimization changes
pbattu123 Feb 20, 2020
3970ca1
Merge pull request #185 from bitshares/for-core-4.0.x
abitmore Feb 21, 2020
f221ca3
Fix Github auto-build
abitmore Feb 24, 2020
142b7eb
Return a user-friendly msg on RPC execution error
abitmore Feb 21, 2020
52f90d6
Merge pull request #187 from bitshares/fix-github-autobuild
abitmore Feb 24, 2020
5768c6d
Merge pull request #186 from bitshares/abitmore-patch-1
abitmore Feb 24, 2020
bbf17f8
Merge pull request #188 from bitshares/for-core-4.0.x
abitmore Feb 24, 2020
cb06e42
Fix Build
nathanielhourt Mar 17, 2020
2b1980a
Fix Build
nathanielhourt Mar 17, 2020
3f9c3f6
Merge pull request #189 from nathanhourt/fix-1
abitmore Mar 18, 2020
9dbf944
Merge pull request #190 from nathanhourt/fix-2
abitmore Mar 18, 2020
9763d1c
Update bool serialization
abitmore Mar 26, 2020
4bc1405
Merge pull request #192 from bitshares/update-bool-pack
abitmore Mar 28, 2020
cc1103f
Fix potential infinity loop
abitmore Mar 28, 2020
34ddc2b
Update to_variant(size_t) for macOS and OpenBSD
abitmore Mar 28, 2020
98a16ce
Replace int with 64-bit types in static_variant
abitmore Mar 29, 2020
3a2902e
Merge pull request #193 from bitshares/fix-exception-to-string
abitmore Mar 30, 2020
907a81b
Merge pull request #195 from bitshares/replace-int-in-static-variant
abitmore Mar 31, 2020
60d7946
Merge pull request #194 from bitshares/update-variant-size-t-macos-op…
abitmore Mar 31, 2020
ca3e76d
Fix compiler warnings about static_variant
abitmore Apr 6, 2020
23f0c6a
Merge pull request #196 from bitshares/fix-static-variant-warning
abitmore Apr 6, 2020
dbf4b99
Merge remote-tracking branch 'upstream/for-core-4.0.x' into jmj_bsip64
jmjatlanta Apr 14, 2020
9505342
improve hash160 performance
jmjatlanta Apr 14, 2020
5070d8d
define hash160 reset method
jmjatlanta Apr 15, 2020
c554c7e
add impl to hash160
jmjatlanta Apr 15, 2020
73a7f08
Merge pull request #143 from bitshares/jmj_bsip64
abitmore Apr 15, 2020
bc60ea3
Update run-parallel-tests.sh to support arguments
abitmore Apr 18, 2020
a7bb22a
Show more msgs when testing with Github Actions
abitmore Apr 18, 2020
480b17f
Show more messages in Travis CI
abitmore Apr 18, 2020
c72d5d3
Merge branch 'master' into for-core-4.0.x
abitmore Apr 19, 2020
bb4fdb1
Merge pull request #197 from bitshares/improve-testing
abitmore Apr 19, 2020
377f843
Fix static_variant_depth_test
abitmore Apr 19, 2020
26c5bfc
Merge pull request #199 from bitshares/abitmore-patch-1
abitmore Apr 19, 2020
ed22e1e
Merge pull request #200 from bitshares/merge-core-4.0.x-to-master
abitmore Apr 29, 2020
ba394e0
Refactor code about logging remote host info
abitmore May 1, 2020
9c506d0
Fix test cases
abitmore May 1, 2020
e50067d
Tweak code slightly
abitmore May 1, 2020
8ffe08f
Merge 'master' branch
abitmore May 1, 2020
e778cf1
Revert to simple WS connection for clients
abitmore May 1, 2020
8ddcc87
Add todo
abitmore May 1, 2020
c6df78b
Rename a function to avoid accidental misuse
abitmore May 2, 2020
3e07edf
Remove unused header inclusion
abitmore May 2, 2020
c8fcefb
Update RPC logging format
abitmore May 2, 2020
c58ae55
Update test cases about RPC logging level
abitmore May 2, 2020
ffbda4e
Add test cases about on_http for websocket servers
abitmore May 2, 2020
aa54e39
Remove unused websocket_tls_client class
abitmore May 2, 2020
ea96a5a
Fix websocket_client::secure_connect()
abitmore May 2, 2020
c00824a
Merge pull request #134 from bitshares/jmj_844b
abitmore May 2, 2020
bee73bd
Refactor websocket_client, fix duplicate code
abitmore May 2, 2020
33ce80c
Remove unused types, wrap long lines
abitmore May 2, 2020
04f5fae
Refactor websocket_tls_server_impl with template
abitmore May 2, 2020
b77fa2a
Capture only required vars, update coding style
abitmore May 6, 2020
c55b1fd
Add notes
abitmore May 6, 2020
4dd1319
Refactor destructor of websocket_server_impl
abitmore May 6, 2020
88a3b58
Fix Clang -Wmismatched-tags warning on tuple_size
abitmore Jun 14, 2020
6606806
Merge pull request #202 from bitshares/fix-tuple-size-warning
abitmore Jun 17, 2020
9ae2942
Update coding style
abitmore Jun 18, 2020
aa671d6
Add promise to wait for closure of server socket
abitmore Jun 20, 2020
0d9b127
Add missing functions to websocket_tls_server
abitmore Jun 20, 2020
12777b8
Merge pull request #201 from bitshares/ws-refactory
abitmore Jun 22, 2020
a876678
Merge pull request #204 from bitshares/jmj_1256
abitmore Jun 22, 2020
8b94976
Fix race condition in websocket server close
abitmore Jun 24, 2020
a2b380d
Merge pull request #205 from bitshares/fix-websocket-close
abitmore Jun 24, 2020
d7c710e
Add macOS to Github Autobuild
abitmore Jul 2, 2020
210e816
Fix paths for macOS unit tests in github autobuild
abitmore Jul 2, 2020
82e3944
Update time_test to get around a boost 1.60 issue
abitmore Jul 2, 2020
4ffc77f
Update boost version checks in time_test to macros
abitmore Jul 2, 2020
9e14f23
Merge pull request #206 from bitshares/github-auto-build
abitmore Jul 2, 2020
0cf6f46
websocket fix, issue 13
pravblockc Jul 2, 2020
13b7cfa
Revert "websocket fix, issue 13"
pravblockc Jul 2, 2020
c1e362a
websocket issue
pravblockc Jul 6, 2020
b99585c
Added .gitlab-ci.yml
RoshanSyed Jul 9, 2020
8dd2fbe
Merge branch 'issue-13-fix-websocket' into 'latest-fc'
bobinson Aug 11, 2020
917e4d3
ws-updates
pravblockc Aug 12, 2020
fb27454
Merge branch 'ws-fc-updates' into 'latest-fc'
bobinson Aug 12, 2020
7bf5340
Add hash_ctr_rng.hpp
nathanielhourt Aug 20, 2020
fde60bd
Add a fc_[diwe]dump() function, analogous to fc_[diew]log()
emfrias May 9, 2018
4accfdd
Fix warnings
nathanielhourt Aug 21, 2020
5b3eb3a
websocket_server default empty XFF header
nathanielhourt Aug 21, 2020
69ebbf4
Link boost.serialization
nathanielhourt Aug 21, 2020
747567f
Revert "Removed signed_int"
nathanielhourt Sep 17, 2020
2f89e08
Use signed_int to serialize enums
nathanielhourt Sep 18, 2020
3f4a446
static variant update
pravblockc Oct 16, 2020
5e5c6c9
Feature/readline-editline
pravblockc Oct 27, 2020
d8429b8
Merge branch 'feature/rl-editline' into 'latest-fc'
bobinson Oct 27, 2020
0e92594
Merge branch 'feature/static_variant_update' into 'latest-fc'
bobinson Oct 27, 2020
29d2f72
Remove as much warnings from build log as possible
Oct 29, 2020
74b0201
Merge remote-tracking branch 'ppu/latest-fc' into bts-updates
nathanielhourt Dec 2, 2020
472ff6b
Restore pre-merge websocketpp
nathanielhourt Dec 2, 2020
4888839
Merge pull request #17 from peerplays-network/fc/cleaner-build-log
serkixenos Jan 27, 2021
0248e20
Add option to compile dynamic libraries
nathanielhourt Oct 26, 2020
21418ec
Compiler incompatibility
nathanielhourt Sep 21, 2021
9ed3f6e
Merge branch latest-fc into dapp-support
MichelSantos Nov 11, 2021
a17b231
Merge pull request #1 from MichelSantos/dapp-support
nathanielhourt Nov 12, 2021
e860e62
Fix build: adjust tcp_socket allocation
nathanielhourt Mar 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add option to compile dynamic libraries
Also, fix build:
Clang 10.0.1 has incompatible rules with other compilers on whether
you must/cannot put the `template` keyword in part of the reflection
code. Add a special case to make it work all around.
  • Loading branch information
nathanielhourt committed Mar 13, 2021
commit 0248e2053140b5291cf6d67f825655b55e013215
38 changes: 31 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ PROJECT( fc )
set( CMAKE_CXX_STANDARD 14 )
SET( CMAKE_CXX_STANDARD_REQUIRED ON )

set( FC_BUILD_DYNAMIC_LIBRARIES OFF CACHE BOOL "Whether FC should build as a dynamic library rather than static" )

if( "${CMAKE_CXX_COMPILER_ID}" MATCHES "^(Apple)?Clang|GNU$" )
set( CMAKE_CXX_EXTENSIONS ON ) # for __int128 support
else( "${CMAKE_CXX_COMPILER_ID}" MATCHES "^(Apple)?Clang|GNU$" )
Expand Down Expand Up @@ -41,7 +43,11 @@ endif()
SET(BOOST_COMPONENTS)
LIST(APPEND BOOST_COMPONENTS coroutine thread date_time filesystem system program_options serialization chrono unit_test_framework context iostreams regex)
# boost::endian is also required, but FindBoost can't handle header-only libs
SET( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" )
if(${FC_BUILD_DYNAMIC_LIBRARIES})
SET( Boost_USE_STATIC_LIBS OFF CACHE STRING "ON or OFF" )
else()
SET( Boost_USE_STATIC_LIBS ON CACHE STRING "ON or OFF" )
endif()

# Configure secp256k1-zkp
if ( WIN32 )
Expand All @@ -63,10 +69,16 @@ if ( WIN32 )
else ( WIN32 )
include(ExternalProject)

if( CMAKE_POSITION_INDEPENDENT_CODE )
set( SECP_USE_PIC --with-pic )
else( CMAKE_POSITION_INDEPENDENT_CODE )
set( SECP_USE_PIC "" )
endif()

ExternalProject_Add( project_secp256k1
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp --with-bignum=no
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp --with-bignum=no ${SECP_USE_PIC}
BUILD_COMMAND make
INSTALL_COMMAND true
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/vendor/secp256k1-zkp/src/project_secp256k1-build/.libs/libsecp256k1.a
Expand All @@ -84,7 +96,10 @@ else ( WIN32 )
set_property(TARGET secp256k1 PROPERTY IMPORTED_LOCATION ${binary_dir}/.libs/libsecp256k1${CMAKE_STATIC_LIBRARY_SUFFIX})
set_property(TARGET secp256k1 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/vendor/secp256k1-zkp/include)
add_dependencies(secp256k1 project_secp256k1)
install( FILES ${binary_dir}/.libs/libsecp256k1${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION lib/cryptonomex )
if (${FC_BUILD_DYNAMIC_LIBRARIES})
FILE(GLOB SECP_SHARED ${binary_dir}/.libs/libsecp256k1.so*)
endif()
install( FILES ${binary_dir}/.libs/libsecp256k1${CMAKE_STATIC_LIBRARY_SUFFIX} ${SECP_SHARED} DESTINATION lib/cryptonomex )
endif ( WIN32 )
# End configure secp256k1-zkp

Expand All @@ -95,7 +110,7 @@ if ( NOT WIN32 )
ExternalProject_Add( project_editline
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/vendor/editline
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vendor/editline
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/editline/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/vendor/editline
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/vendor/editline/configure --prefix=${CMAKE_CURRENT_BINARY_DIR}/vendor/editline CFLAGS=-fPIC
BUILD_COMMAND make
INSTALL_COMMAND true
BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/vendor/editline/src/project_editline-build/src/.libs/libeditline.a
Expand All @@ -111,7 +126,10 @@ if ( NOT WIN32 )
set_property(TARGET editline PROPERTY IMPORTED_LOCATION ${binary_dir}/src/.libs/libeditline${CMAKE_STATIC_LIBRARY_SUFFIX})
set_property(TARGET editline PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/vendor/editline/include)
add_dependencies(editline project_editline)
install( FILES ${binary_dir}/src/.libs/libeditline${CMAKE_STATIC_LIBRARY_SUFFIX} DESTINATION lib/cryptonomex )
if (${FC_BUILD_DYNAMIC_LIBRARIES})
FILE(GLOB EDITLINE_SHARED ${binary_dir}/src/.libs/libeditline.so*)
endif()
install( FILES ${binary_dir}/src/.libs/libeditline${CMAKE_STATIC_LIBRARY_SUFFIX} ${EDITLINE_SHARED} DESTINATION lib/cryptonomex )
endif ( NOT WIN32 )
# End configure editline

Expand Down Expand Up @@ -240,7 +258,13 @@ list(APPEND sources ${fc_headers})

add_subdirectory( vendor/websocketpp EXCLUDE_FROM_ALL )

add_library( fc ${sources} )
if (NOT ${FC_BUILD_DYNAMIC_LIBRARIES} )
add_library( fc ${sources} )
else()
add_library( fc SHARED ${sources} )
endif()

install( TARGETS fc LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
install( DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/" DESTINATION include )

# begin editline stuff
Expand Down Expand Up @@ -351,7 +375,7 @@ elseif(WIN32 AND MINGW)
endif()


IF(Boost_UNIT_TEST_FRAMEWORK_LIBRARY MATCHES "\\.(so|dll)$")
IF(Boost_UNIT_TEST_FRAMEWORK_LIBRARY MATCHES "\\.(so|dll)$" OR FC_BUILD_DYNAMIC_LIBRARIES)
IF(MSVC)
add_definitions(/DBOOST_TEST_DYN_LINK)
ELSE(MSVC)
Expand Down
2 changes: 1 addition & 1 deletion include/fc/network/tcp_socket.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ namespace fc {
#ifdef _WIN64
fc::fwd<impl,0xa8> my;
#else
fc::fwd<impl,0x60> my;
fc::fwd<impl,0x80> my;
#endif
};
typedef std::shared_ptr<tcp_socket> tcp_socket_ptr;
Expand Down
12 changes: 10 additions & 2 deletions include/fc/reflect/reflect.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,20 @@ struct Derivation_reflection_transformer {
};
} // namespace impl

// Workaround to inconsistent compiler rules on whether template must/cannot be specified here
#if defined(__clang__) && __clang_major__ < 11
#define MAYBE_TEMPLATE template
#else
#define MAYBE_TEMPLATE
#endif

/// Macro to transform reflected fields of a base class to a derived class and concatenate them to a type list
#define FC_CONCAT_BASE_MEMBER_REFLECTIONS(r, derived, base) \
::add_list<typelist::transform<reflector<base>::members, impl::Derivation_reflection_transformer<derived>>>
::add_list<typelist::transform<typename reflector<base>::members, \
impl::Derivation_reflection_transformer<derived>>>
/// Macro to concatenate a new @ref field_reflection to a typelist
#define FC_CONCAT_MEMBER_REFLECTION(r, container, idx, member) \
::add<typename impl::Reflect_type<container>::template with_field_type<decltype(container::member)> \
::MAYBE_TEMPLATE add<typename impl::Reflect_type<container>::template with_field_type<decltype(container::member)> \
::template at_index<idx> \
::template with_field_pointer<&container::member>::type>
#define FC_REFLECT_MEMBER_NAME(r, container, idx, member) \
Expand Down
4 changes: 2 additions & 2 deletions include/fc/reflect/typelist.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ template<typename T> struct wrapper { using type = T; };
*/
template<typename... Types, typename Callable, typename = std::enable_if_t<impl::length<Types...>::value != 0>,
typename Return = decltype(std::declval<Callable>()(wrapper<at<list<Types...>, 0>>()))>
Return dispatch(list<Types...>, std::size_t index, Callable c) {
Return dispatch(list<Types...>, uint64_t index, Callable c) {
static std::function<Return(Callable&)> call_table[] =
{ impl::dispatch_helper<Callable, Return, wrapper<Types>>... };
if (index < impl::length<Types...>::value) return call_table[index](c);
Expand All @@ -249,7 +249,7 @@ Return dispatch(list<Types...>, std::size_t index, Callable c) {
template<typename List, typename Callable>
auto dispatch(List l, int64_t index, Callable c) {
if (index < 0) throw std::out_of_range("Negative index to fc::typelist::runtime::dispatch()");
return dispatch(l, std::size_t(index), std::move(c));
return dispatch(l, std::uint64_t(index), std::move(c));
}

/// @brief Invoke the provided callable with an argument wrapper<Type>() for each type in the list
Expand Down