-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
107 lines (84 loc) · 2.24 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
cmake_minimum_required(VERSION 3.16)
# set the project name and version
project(test_vOW_SIKE_128 LANGUAGES CXX)
find_package(OpenMP REQUIRED)
find_package(TBB REQUIRED)
# specify the C++ standard
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_subdirectory(src)
IF (THIRD_VER)
add_definitions(-DTASK_BASED_PRECOMP_THIRD_VER)
ENDIF()
IF (SECOND_VER)
add_definitions(-DTASK_BASED_PRECOMP_SECOND_VER)
ENDIF()
if (TBB_VER)
add_definitions(-DTASK_BASED_PRECOMP_TBB_VER)
endif()
if(SERIAL_VER)
add_definitions(-DSERIAL_VER)
endif()
if(MITM)
add_definitions(-DMITM)
endif()
if(PRECOMP_OUTPUT_TO_FILE)
add_definitions(-DPRECOMP_OUTPUT_TO_FILE)
endif()
if(PRINT_CURVE_INFO)
add_definitions(-DPRINT_CURVE_INFO)
endif()
if(BIG_MEM_FOR_OUTPUT)
add_definitions(-DBIG_MEM_FOR_OUTPUT)
endif()
if(p32)
add_definitions(-Dp_32_20)
endif()
if(p36)
add_definitions(-Dp_36_22)
endif()
if(p40)
add_definitions(-Dp_40_25)
endif()
if(p44)
add_definitions(-Dp_44_27)
endif()
if(p48)
add_definitions(-Dp_48_30)
endif()
if(p52)
add_definitions(-Dp_52_33)
endif()
if(p56)
add_definitions(-Dp_56_35)
endif()
add_definitions(-DP128)
add_definitions(-D__LINUX__)
add_definitions(-D_AMD64_)
add_definitions(-D_FAST_)
add_definitions(-D_MULX_)
add_definitions(-D_ADX_)
# add the executable
file(GLOB SOURCES "${test_vOW_SIKE_128_SOURCE_DIR}/src/*.cpp")
file(GLOB HEADER "${test_vOW_SIKE_128_SOURCE_DIR}/include/*.h")
add_executable(test_vOW_SIKE_128 ${SOURCES} ${HEADER})
find_library(SIDH_LIB sidh HINTS ${CMAKE_CURRENT_SOURCE_DIR}/../P128/build)
find_library(VOW_SIKE_LIB vow_sike HINTS ${CMAKE_CURRENT_SOURCE_DIR}/libs/vow_sike/build)
# -l options
target_link_libraries(test_vOW_SIKE_128 PRIVATE
OpenMP::OpenMP_CXX
${VOW_SIKE_LIB}
m
TBB::tbb
)
# -I options
target_compile_options(test_vOW_SIKE_128 PRIVATE
${OpenMP_CXX_FLAGS}
-Wfatal-errors -march=native)
target_include_directories(test_vOW_SIKE_128 PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/libs/vow_sike/include
${CMAKE_CURRENT_SOURCE_DIR}/libs/P128/include
${CMAKE_CURRENT_SOURCE_DIR}/libs/aes/include
${CMAKE_CURRENT_SOURCE_DIR}/libs/sha3/include
${CMAKE_CURRENT_SOURCE_DIR}/libs/xxHash
)