Skip to content

Commit fba36f6

Browse files
Add basic CMake build support for libBitcoinSimplicity
1 parent 3b03bdb commit fba36f6

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ alectryon-doc
2525
*.o
2626
*.out
2727
*.a
28+
# cmake
29+
*.cmake
30+
CMakeCache.txt
31+
CMakeFiles
32+
/build/
2833
# Coverage
2934
*.gcda
3035
*.gcno

C/CMakeLists.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
cmake_minimum_required(VERSION 3.16)
2+
3+
project(BitcoinSimplicity)
4+
5+
set(CMAKE_C_STANDARD 11)
6+
set(CMAKE_C_EXTENSIONS OFF)
7+
8+
add_library(BitcoinSimplicity STATIC
9+
bitstream.c
10+
dag.c
11+
deserialize.c
12+
eval.c
13+
frame.c
14+
jets-secp256k1.c
15+
jets.c
16+
rsort.c
17+
sha256.c
18+
type.c
19+
typeInference.c
20+
bitcoin/env.c
21+
bitcoin/exec.c
22+
bitcoin/bitcoinJets.c
23+
bitcoin/ops.c
24+
bitcoin/primitive.c
25+
bitcoin/txEnv.c
26+
)
27+
28+
option(PRODUCTION "Enable production build" ON)
29+
if (PRODUCTION)
30+
target_compile_definitions(BitcoinSimplicity PRIVATE "PRODUCTION")
31+
endif()
32+
33+
target_include_directories(BitcoinSimplicity PUBLIC
34+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
35+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
36+
)

0 commit comments

Comments
 (0)