Skip to content

Commit 2f4e84c

Browse files
Khachik Shahzadyanqwerity
Khachik Shahzadyan
authored andcommitted
Enable and fix for windows build by cmake project file
1 parent 230f62c commit 2f4e84c

File tree

8 files changed

+26
-11
lines changed

8 files changed

+26
-11
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,6 @@ wallycore.wasm
100100
*.pdb
101101
*.ilk
102102
*.exp
103+
104+
.idea
105+
cmake-build-*

_CMakeLists.txt renamed to CMakeLists.txt

+8-4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ option(WALLYCORE_INSTALL "Enable install" OFF)
1414
option(WALLYCORE_COVERAGE "Enable coverage" OFF)
1515
option(WALLYCORE_BUILD_ELEMENTS "Build elements" ON)
1616

17+
if (NOT BUILD_SHARED_LIBS)
18+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
19+
endif()
20+
1721
include(cmake/utils.cmake)
1822
generate_config_file()
1923
configure_file(src/ccan_config.h ccan_config.h COPYONLY)
@@ -23,15 +27,15 @@ set(SECP256K1_ENABLE_MODULE_ECDH ON)
2327
set(SECP256K1_ENABLE_MODULE_RECOVERY ON)
2428
set(SECP256K1_ENABLE_MODULE_EXTRAKEYS ON)
2529
set(SECP256K1_ENABLE_MODULE_SCHNORRSIG ON)
26-
set(SECP256K1_ENABLE_MODULE_ELLSWIFT OFF)
30+
set(SECP256K1_ENABLE_MODULE_ELLSWIFT ON)
2731
set(SECP256K1_ENABLE_MODULE_GENERATOR ON)
2832
set(SECP256K1_ENABLE_MODULE_RANGEPROOF ON)
2933
set(SECP256K1_ENABLE_MODULE_SURJECTIONPROOF ON)
3034
set(SECP256K1_ENABLE_MODULE_WHITELIST ON)
31-
set(SECP256K1_ENABLE_MODULE_MUSIG OFF)
32-
set(SECP256K1_ENABLE_MODULE_ECDSA_ADAPTOR OFF)
35+
set(SECP256K1_ENABLE_MODULE_MUSIG ON)
36+
set(SECP256K1_ENABLE_MODULE_ECDSA_ADAPTOR ON)
3337
set(SECP256K1_ENABLE_MODULE_ECDSA_S2C ON)
34-
set(SECP256K1_ENABLE_MODULE_BPPP OFF)
38+
set(SECP256K1_ENABLE_MODULE_BPPP ON)
3539
set(SECP256K1_BUILD_BENCHMARK OFF)
3640
set(SECP256K1_BUILD_TESTS OFF)
3741
set(SECP256K1_BUILD_EXHAUSTIVE_TESTS OFF)

_cmake/config.h.in renamed to cmake/config.h.in

+5
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@
7777
# endif
7878
#endif
7979

80+
#ifdef _WIN32
81+
#if (!defined(_SSIZE_T_DECLARED)) && (!defined(_ssize_t)) && (!defined(ssize_t))
82+
#define ssize_t long long
83+
#endif
84+
#endif
8085

8186
#include "ccan_config.h"
8287
#endif /*LIBWALLYCORE_CONFIG_H*/
File renamed without changes.
File renamed without changes.

src/_CMakeLists.txt renamed to src/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ file(
2525
)
2626

2727
# wallycore
28-
add_library(wallycore)
28+
add_library(wallycore STATIC)
2929
target_sources(wallycore PRIVATE ${ccan_srcs} ${wallycore_srcs})
3030
set_target_properties(wallycore PROPERTIES PUBLIC_HEADER "${wallycore_public_headers}")
3131
target_include_directories(

src/ccan/ccan/tap/tap.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@
2828
#include <stdarg.h>
2929
#include <stdio.h>
3030
#include <stdlib.h>
31-
#include <unistd.h>
32-
31+
#ifndef _WIN32
32+
#include <unistd.h>
33+
#endif
3334
#include "tap.h"
3435

3536
static int no_plan = 0;

src/ctest/_CMakeLists.txt renamed to src/ctest/CMakeLists.txt

+6-4
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ target_include_directories(test_bech32 PRIVATE ${CMAKE_BINARY_DIR})
55
target_link_libraries(test_bech32 PRIVATE wallycore)
66
add_test(test_bech32 test_bech32)
77

8-
add_executable(test_clear test_clear.c)
9-
target_include_directories(test_clear PRIVATE ${CMAKE_BINARY_DIR})
10-
target_link_libraries(test_clear PRIVATE wallycore pthread)
11-
add_test(test_clear test_clear)
8+
if(NOT WIN32)
9+
add_executable(test_clear test_clear.c)
10+
target_include_directories(test_clear PRIVATE ${CMAKE_BINARY_DIR})
11+
target_link_libraries(test_clear PRIVATE wallycore pthread)
12+
add_test(test_clear test_clear)
13+
endif()
1214

1315
add_executable(test_coinselection test_coinselection.c)
1416
target_include_directories(test_coinselection PRIVATE ${CMAKE_BINARY_DIR})

0 commit comments

Comments
 (0)