32 lines
825 B
CMake
32 lines
825 B
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(shrap)
|
|
|
|
include(FetchContent)
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
|
|
FetchContent_Declare(
|
|
blake3
|
|
GIT_REPOSITORY https://github.com/BLAKE3-team/BLAKE3.git
|
|
GIT_TAG 1.8.3
|
|
)
|
|
FetchContent_MakeAvailable(blake3)
|
|
|
|
add_library(blake3_lib STATIC
|
|
${blake3_SOURCE_DIR}/c/blake3.c
|
|
${blake3_SOURCE_DIR}/c/blake3_dispatch.c
|
|
${blake3_SOURCE_DIR}/c/blake3_portable.c
|
|
)
|
|
target_compile_definitions(blake3_lib PRIVATE
|
|
BLAKE3_NO_SSE2
|
|
BLAKE3_NO_SSE41
|
|
BLAKE3_NO_AVX2
|
|
BLAKE3_NO_AVX512
|
|
)
|
|
target_include_directories(blake3_lib PUBLIC ${blake3_SOURCE_DIR}/c)
|
|
|
|
add_executable(${PROJECT_NAME} src/main.cc)
|
|
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE blake3_lib)
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-static") |