Browse Source

Merge pull request #721 from artemii235/etomic

Merge Decker's win build script. Link libc++ and libgcc statically.
patch-3
jl777 7 years ago
committed by GitHub
parent
commit
73333b04b7
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      appveyor.yml
  2. 8
      crypto777/CMakeLists.txt
  3. 20
      iguana/exchanges/CMakeLists.txt
  4. 8
      iguana/exchanges/etomicswap/CMakeLists.txt
  5. 56
      marketmaker_build_etomic.cmd

6
appveyor.yml

@ -0,0 +1,6 @@
version: 1.0.{build}
branches:
only:
- etomic
build_script:
- cmd: marketmaker_build_etomic.cmd

8
crypto777/CMakeLists.txt

@ -2,4 +2,10 @@ file(GLOB sources "*.c")
file(GLOB headers "*.h")
add_library(libcrypto777 ${sources} ${headers})
target_compile_definitions(libcrypto777 PRIVATE USE_STATIC_NANOMSG)
target_link_libraries(libcrypto777 PUBLIC curl ${NANOMSG_LIBRARY})
target_link_libraries(libcrypto777 PUBLIC curl ${NANOMSG_LIBRARY})
if(WIN32)
add_definitions(-DNATIVE_WINDOWS)
add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
include_directories("${CMAKE_SOURCE_DIR}/includes")
endif()

20
iguana/exchanges/CMakeLists.txt

@ -1,14 +1,30 @@
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
set(MM_SOURCES mm.c ../mini-gmp.c ../groestl.c ../segwit_addr.c ../keccak.c LP_etomic.c)
set(MM_LIBS curl pthread libcrypto777 libjpeg libsecp256k1)
if(WIN32)
link_directories(${CMAKE_SOURCE_DIR}/marketmaker_depends/curl/build_msvc_2015_win64/lib/Release ${CMAKE_SOURCE_DIR}/marketmaker_depends/pthread-win32/bin/x64_MSVC2015.Release ${CMAKE_SOURCE_DIR}/marketmaker_depends/nanomsg/build_msvc_2015_win64/Release)
set(MM_LIBS ${MM_LIBS} nanomsg)
endif()
add_executable(marketmaker-testnet ${MM_SOURCES})
add_executable(marketmaker-mainnet ${MM_SOURCES})
include_directories(../../crypto777)
if(WIN32)
target_compile_definitions(marketmaker-mainnet PRIVATE)
target_compile_definitions(marketmaker-testnet PRIVATE ETOMIC_TESTNET)
else()
target_compile_definitions(marketmaker-testnet PRIVATE ETOMIC_TESTNET USE_STATIC_NANOMSG)
target_compile_definitions(marketmaker-mainnet PRIVATE USE_STATIC_NANOMSG)
endif()
if(UNIX)
target_link_libraries(marketmaker-testnet m)
target_link_libraries(marketmaker-mainnet m)
endif()
target_link_libraries(marketmaker-testnet ${MM_LIBS} etomiclib-testnet)
target_link_libraries(marketmaker-mainnet ${MM_LIBS} etomiclib-mainnet)
if(WIN32)
add_definitions(-DNATIVE_WINDOWS)
add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
include_directories("${CMAKE_SOURCE_DIR}/includes")
endif()
target_link_libraries(marketmaker-testnet ${MM_LIBS} etomiclib-testnet -static-libgcc -static-libstdc++)
target_link_libraries(marketmaker-mainnet ${MM_LIBS} etomiclib-mainnet -static-libgcc -static-libstdc++)

8
iguana/exchanges/etomicswap/CMakeLists.txt

@ -4,6 +4,14 @@ add_library(etomiclib-mainnet etomiclib.cpp etomiccurl.c)
target_compile_definitions(etomiclib-testnet PRIVATE ETOMIC_TESTNET)
add_executable(alice alice.c)
add_executable(bob bob.c)
if(WIN32)
add_definitions(-DNATIVE_WINDOWS)
add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
add_definitions(-DNOMINMAX)
include_directories("${CMAKE_SOURCE_DIR}/includes")
endif()
include_directories("${CMAKE_SOURCE_DIR}/cpp-ethereum")
target_link_libraries(etomiclib-testnet PUBLIC curl libcrypto777 ethcore devcrypto devcore pthread)
target_link_libraries(etomiclib-mainnet PUBLIC curl libcrypto777 ethcore devcrypto devcore pthread)

56
marketmaker_build_etomic.cmd

@ -0,0 +1,56 @@
@echo off
rem (c) Decker
echo [#1] Build nanomsg, curl and pthreads ...
call marketmaker_build_depends.cmd
copy marketmaker_depends\curl\build_msvc_2015_win64\lib\Release\libcurl_imp.lib marketmaker_depends\curl\build_msvc_2015_win64\lib\Release\curl.lib
copy marketmaker_depends\pthread-win32\bin\x64_MSVC2015.Release\pthread_lib.lib marketmaker_depends\pthread-win32\bin\x64_MSVC2015.Release\pthread.lib
echo [#2] Prepare build etomic needed things ...
git submodule init
git submodule update --init --recursive
cd cpp-ethereum
rem git submodule init
rem git submodule update --init
call scripts\install_deps.bat
cd ..
mkdir build_win64_release
cd build_win64_release
cmake .. -G "Visual Studio 14 2015 Win64"
rem Steps before build:
rem
rem crypto777\CMakeLists.txt
rem Add:
rem if(WIN32)
rem add_definitions(-DNATIVE_WINDOWS)
rem add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
rem add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
rem include_directories("${CMAKE_SOURCE_DIR}/includes")
rem endif()
rem
rem iguana\exchanges\CMakeLists.txt
rem
rem if(WIN32)
rem add_definitions(-DNATIVE_WINDOWS)
rem add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
rem add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
rem add_definitions(-D_CRT_SECURE_NO_WARNINGS)
rem include_directories("${CMAKE_SOURCE_DIR}/includes")
rem endif()
rem
rem iguana\exchanges\etomicswap\CMakeLists.txt
rem
rem if(WIN32)
rem add_definitions(-DNATIVE_WINDOWS)
rem add_definitions(-DIGUANA_LOG2PACKETSIZE=20)
rem add_definitions(-DIGUANA_MAXPACKETSIZE=1572864)
rem add_definitions(-D_CRT_SECURE_NO_WARNINGS)
rem add_definitions(-DNOMINMAX)
rem include_directories("${CMAKE_SOURCE_DIR}/includes")
rem endif()
echo [#3] Build marketmaker-mainnet ...
cmake --build . --config Release --target marketmaker-mainnet
cd ..
Loading…
Cancel
Save