cmake_minimum_required(VERSION 3.13) project(uEXAMPLE LANGUAGES C VERSION 0.0.1.0) enable_language(C) enable_language(ASM) set(CMAKE_VERBOSE_MAKEFILE ON) set(UPQCL_LIBRARY_VER ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) set(CMAKE_C_STANDARD 99) # Global configuration string(APPEND CMAKE_C_FLAGS "-Os ") string(APPEND CMAKE_C_FLAGS "-Wno-ignored-qualifiers ") string(APPEND CMAKE_C_FLAGS "-Wall ") string(APPEND CMAKE_C_FLAGS "-Werror ") #string(APPEND CMAKE_C_FLAGS "-Wextra ") #string(APPEND CMAKE_C_FLAGS "-Wpedantic ") string(APPEND CMAKE_C_FLAGS "-Wshadow ") string(APPEND CMAKE_C_FLAGS "-Wno-variadic-macros ") string(APPEND CMAKE_C_FLAGS "-Wno-undef ") string(APPEND CMAKE_C_FLAGS "-Wno-unused ") #string(APPEND CMAKE_C_FLAGS "-Wunused-result ") string(APPEND CMAKE_C_FLAGS "-Wmissing-prototypes ") string(APPEND CMAKE_C_FLAGS "-Wvla ") string(APPEND CMAKE_C_FLAGS "-Wredundant-decls ") string(APPEND CMAKE_C_FLAGS "-fno-common ") string(APPEND CMAKE_C_FLAGS "-DSTM32F4 -DCRYPTO_ITERATIONS=1") set(uEXAMPLE_SRC ${PROJECT_SOURCE_DIR}/src/common/fips202.c ${PROJECT_SOURCE_DIR}/src/common/keccakf1600.S ${PROJECT_SOURCE_DIR}/src/common/crypto_hashblocks_sha512_inner32.s ${PROJECT_SOURCE_DIR}/src/common/crypto_hashblocks_sha512.c ${PROJECT_SOURCE_DIR}/src/saber/cbd.c ${PROJECT_SOURCE_DIR}/src/saber/kem.c ${PROJECT_SOURCE_DIR}/src/saber/mul.S ${PROJECT_SOURCE_DIR}/src/saber/NTT_inv_inner.S ${PROJECT_SOURCE_DIR}/src/saber/NTT_inv.S ${PROJECT_SOURCE_DIR}/src/saber/NTT_pk.S ${PROJECT_SOURCE_DIR}/src/saber/NTT.S ${PROJECT_SOURCE_DIR}/src/saber/pack_unpack.c ${PROJECT_SOURCE_DIR}/src/saber/poly.c ${PROJECT_SOURCE_DIR}/src/saber/SABER_indcpa.c ${PROJECT_SOURCE_DIR}/src/saber/verify.c) add_library( example STATIC ${uEXAMPLE_SRC}) target_include_directories( example PRIVATE #${PROJECT_SOURCE_DIR}/3rd/libopencm3/include ${PROJECT_SOURCE_DIR}/src/common ${PROJECT_SOURCE_DIR}/src/sabre) if(PLATFORM STREQUAL "stm32disco") add_subdirectory(${PROJECT_SOURCE_DIR}/platform/stm32disco) endif()