forked from ZeunO8/SHA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
35 lines (27 loc) · 831 Bytes
/
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
cmake_minimum_required(VERSION 3.29)
project(SHA)
file(GLOB_RECURSE INC_FILES
"${PROJECT_SOURCE_DIR}/include/**.hpp"
)
file(GLOB_RECURSE SRC_FILES
"${PROJECT_SOURCE_DIR}/src/SHA256.cpp"
"${PROJECT_SOURCE_DIR}/src/SHA384.cpp"
"${PROJECT_SOURCE_DIR}/src/SHA512.cpp"
)
# static lib
add_library(SHA STATIC "${INC_FILES}" "${SRC_FILES}")
add_library(SHA::static ALIAS SHA)
# shared lib
add_library(SHA_SHARED SHARED "${INC_FILES}" "${SRC_FILES}")
add_library(SHA::shared ALIAS SHA_SHARED)
# example
add_executable(ShaExample "${PROJECT_SOURCE_DIR}/src/example.cpp")
target_include_directories(SHA
PUBLIC "${PROJECT_SOURCE_DIR}/include"
)
target_include_directories(SHA_SHARED
PUBLIC "${PROJECT_SOURCE_DIR}/include"
)
target_link_libraries(ShaExample
PRIVATE SHA::static
)