-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
63 lines (45 loc) · 2.01 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
cmake_minimum_required(VERSION 3.10)
project(MyProject C)
set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/build)
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
#set(BENCHMARK_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
set(TEST_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/bin)
set(CMAKE_STATIC_LIBRARY_PREFIX "lib-")
set(CMAKE_SHARED_LIBRARY_PREFIX "lib-")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
include_directories(libs-mdr src)
file(GLOB MDR_LIBRARIES_SOURCES libs-mdr/*.c)
file(GLOB MDR_LIBRARIES_HEADERS libs-mdr/*.h)
add_library(mdr ${MDR_LIBRARIES_SOURCES} ${MDR_LIBRARIES_HEADERS})
add_library(elgamal-mod src/lib-elgamal-mod.c src/lib-elgamal-mod.h)
add_library(anon-proxy src/lib-anon-proxy.c src/lib-anon-proxy.h)
add_executable(main-elgamal-mod examples/main-elgamal-mod.c)
add_executable(test-elgamal-mod test/test-elgamal-mod.c)
#add_executable(bench-elgamal-mod benchmark/bench-elgamal-mod.c)
add_executable(main-anon-proxy examples/main-anon-proxy.c)
add_executable(test-anon-proxy test/test-anon-proxy.c)
# set output directory of executable
set_target_properties(
main-elgamal-mod
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${EXECUTABLE_OUTPUT_PATH}"
)
# set_target_properties(
# bench-elgamal-mod
# PROPERTIES
# RUNTIME_OUTPUT_DIRECTORY "${BENCHMARK_OUTPUT_PATH}"
# )
set_target_properties(
test-elgamal-mod test-anon-proxy
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${TEST_OUTPUT_PATH}"
)
target_link_libraries(main-elgamal-mod m gmp nettle mdr elgamal-mod)
target_link_libraries(main-elgamal-mod m gmp nettle mdr elgamal-mod)
target_link_libraries(test-elgamal-mod m gmp nettle mdr elgamal-mod)
target_link_libraries(test-elgamal-mod m gmp nettle mdr elgamal-mod)
target_link_libraries(main-anon-proxy m gmp nettle mdr anon-proxy)
target_link_libraries(main-anon-proxy m gmp nettle mdr anon-proxy)
target_link_libraries(test-anon-proxy m gmp nettle mdr anon-proxy)
target_link_libraries(test-anon-proxy m gmp nettle mdr anon-proxy)