forked from pyth-network/pyth-serum
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
36 lines (33 loc) · 1.08 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
cmake_minimum_required( VERSION 3.13 )
project( serum-pyth )
add_subdirectory( test-crank )
function( add_bpf_lib targ )
if( SOLANA AND NOT BPF )
set( BPF ${SOLANA}/sdk/bpf )
endif()
if( BPF )
if( NOT PC )
set( PC ../pyth-client )
endif()
add_library( ${targ} STATIC ${ARGN} )
if( ${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.21" )
# bpf.mk uses --std=c17
set_property( TARGET ${targ} PROPERTY C_STANDARD 17 )
else()
set_property( TARGET ${targ} PROPERTY C_STANDARD 11 )
endif()
set_property( TARGET ${targ} PROPERTY C_STANDARD_REQUIRED ON )
set_property( TARGET ${targ} PROPERTY C_EXTENSIONS OFF )
target_compile_definitions( ${targ} PRIVATE __bpf__=1 )
target_include_directories( ${targ} PRIVATE
program/src
${PC}/program/src
)
target_include_directories( ${targ} SYSTEM PRIVATE
${BPF}/c/inc
${BPF}/dependencies/criterion/include
)
endif()
endfunction()
add_bpf_lib( serum-pyth program/src/serum-pyth/serum-pyth.c )
add_bpf_lib( test-serum-pyth program/src/serum-pyth/test_serum-pyth.c )