-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
43 lines (36 loc) · 1.78 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
cmake_minimum_required(VERSION 3.1)
project(dsa-verify VERSION 0.1.0 LANGUAGES C)
#---------------------------------------------------------------------------------------
# set default build to debug
#---------------------------------------------------------------------------------------
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose Release or Debug" FORCE)
endif()
# ---------------------------------------------------------------------------------------
# Set DSA_VERIFY_MASTER_PROJECT to ON if we are building Units
# ---------------------------------------------------------------------------------------
# Check if Units is being used directly or via add_subdirectory, but allow overriding
if(NOT DEFINED DSA_VERIFY_MASTER_PROJECT)
if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
set(DSA_VERIFY_MASTER_PROJECT ON)
message(STATUS "Building dsa-verify as master project")
else()
set(DSA_VERIFY_MASTER_PROJECT OFF)
endif()
endif()
#---------------------------------------------------------------------------------------
# compiler config
#---------------------------------------------------------------------------------------
option(DSA_VERIFY_BUILD_EXAMPLES "Build example files" ${DSA_VERIFY_MASTER_PROJECT})
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
if(DSA_VERIFY_BUILD_EXAMPLES)
# simple-verify
add_executable(simple-verify examples/simple-verify.c)
target_link_libraries(simple-verify dsa-verify)
# dsa-verify
add_executable(verify examples/verify-tool.c)
target_link_libraries(verify dsa-verify)
endif()
add_library(dsa-verify STATIC src/der.c src/dsa-verify.c src/mp_math.c)
target_include_directories(dsa-verify PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(dsa-verify PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)