cmake_minimum_required(VERSION 3.21) project(sm_crypto VERSION 1.0.0) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set( sources_files src/big.c src/debug.c src/ecc.c src/inet.c src/random.c src/sm2.c src/sm3.c src/sm4.c include/big.h include/debug.h include/ecc.h include/inet.h include/random.h include/sm2.h include/sm3.h include/sm4.h include/typedef.h ) INCLUDE_DIRECTORIES(include) add_library(${PROJECT_NAME} STATIC ${sources_files}) target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include) target_compile_definitions(${PROJECT_NAME} PRIVATE SM_CRYPTO_LIBRARY)