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")