xref: /aosp_15_r20/external/tink/cc/examples/walkthrough/CMakeLists.txt (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1# Library targets.
2
3add_library(create_keyset create_keyset.cc create_keyset.h)
4target_include_directories(create_keyset PUBLIC
5    "${CMAKE_CURRENT_SOURCE_DIR}"
6    "${TINK_EXAMPLES_INCLUDE_PATH}")
7target_link_libraries(create_keyset tink::static)
8
9add_library(load_cleartext_keyset load_cleartext_keyset.cc load_cleartext_keyset.h)
10target_include_directories(load_cleartext_keyset PUBLIC
11    "${CMAKE_CURRENT_SOURCE_DIR}"
12    "${TINK_EXAMPLES_INCLUDE_PATH}")
13target_link_libraries(load_cleartext_keyset tink::static)
14
15add_library(test_util test_util.cc test_util.h)
16target_include_directories(test_util PUBLIC
17    "${CMAKE_CURRENT_SOURCE_DIR}"
18    "${TINK_EXAMPLES_INCLUDE_PATH}")
19target_link_libraries(test_util load_cleartext_keyset tink::static)
20
21add_library(load_encrypted_keyset load_encrypted_keyset.cc load_encrypted_keyset.h)
22target_include_directories(load_encrypted_keyset PUBLIC
23    "${CMAKE_CURRENT_SOURCE_DIR}"
24    "${TINK_EXAMPLES_INCLUDE_PATH}")
25target_link_libraries(load_encrypted_keyset tink::static)
26
27add_library(write_keyset write_keyset.cc write_keyset.h)
28target_include_directories(write_keyset PUBLIC
29    "${CMAKE_CURRENT_SOURCE_DIR}"
30    "${TINK_EXAMPLES_INCLUDE_PATH}")
31target_link_libraries(write_keyset load_cleartext_keyset tink::static)
32
33add_library(obtain_and_use_a_primitive obtain_and_use_a_primitive.cc obtain_and_use_a_primitive.h)
34target_include_directories(obtain_and_use_a_primitive PUBLIC
35    "${CMAKE_CURRENT_SOURCE_DIR}"
36    "${TINK_EXAMPLES_INCLUDE_PATH}")
37target_link_libraries(obtain_and_use_a_primitive tink::static)
38
39add_library(write_cleartext_keyset write_cleartext_keyset.cc write_cleartext_keyset.h)
40target_include_directories(write_cleartext_keyset PUBLIC
41    "${CMAKE_CURRENT_SOURCE_DIR}"
42    "${TINK_EXAMPLES_INCLUDE_PATH}")
43target_link_libraries(write_cleartext_keyset tink::static)
44
45# Test targets.
46# NOTE: gmock and gtest_main are already exported by Tink.
47
48add_executable(create_keyset_test create_keyset_test.cc)
49add_test(NAME create_keyset_test COMMAND create_keyset_test WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
50target_link_libraries(create_keyset_test create_keyset gmock gtest_main)
51
52add_executable(load_cleartext_keyset_test load_cleartext_keyset_test.cc)
53add_test(NAME load_cleartext_keyset_test COMMAND load_cleartext_keyset_test WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
54target_link_libraries(load_cleartext_keyset_test load_cleartext_keyset gmock gtest_main)
55
56add_executable(load_encrypted_keyset_test load_encrypted_keyset_test.cc)
57add_test(NAME load_encrypted_keyset_test COMMAND load_encrypted_keyset_test WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
58target_link_libraries(load_encrypted_keyset_test test_util load_encrypted_keyset load_cleartext_keyset gmock gtest_main)
59
60add_executable(write_keyset_test write_keyset_test.cc)
61add_test(NAME write_keyset_test COMMAND write_keyset_test WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
62target_link_libraries(write_keyset_test test_util write_keyset load_cleartext_keyset load_encrypted_keyset gmock gtest_main)
63
64add_executable(obtain_and_use_a_primitive_test obtain_and_use_a_primitive_test.cc)
65add_test(NAME obtain_and_use_a_primitive_test COMMAND obtain_and_use_a_primitive_test WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
66target_link_libraries(obtain_and_use_a_primitive_test obtain_and_use_a_primitive load_cleartext_keyset gmock gtest_main)
67
68add_executable(write_cleartext_keyset_test write_cleartext_keyset_test.cc)
69add_test(NAME write_cleartext_keyset_test COMMAND write_cleartext_keyset_test WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
70target_link_libraries(write_cleartext_keyset_test write_cleartext_keyset load_cleartext_keyset gmock gtest_main)
71