CMAKE基础示例

# 设置版本限制
cmake_minimum_required(VERSION 3.10)
# 设置项目名称
project(libecc C)
# 设置头文件目录
include_directories(include)

# 设置编译选项
add_compile_options(-Wall -pedantic -fno-builtin -std=c99)

# 交叉编译时启用
# 设置交叉编译器
#set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
# 设置库文件搜索根目 (交叉编译的链接库位于/usr/arm-linux-gnueabihf下)
#set(CMAKE_FIND_ROOT_PATH /usr/arm-linux-gnueabihf)
#set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
#set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
#set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
#set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

# 使用FILE(GLOB)来获取对应目录下所有源代码文件
FILE(GLOB FP src/fp/*.c)
FILE(GLOB CURVES src/curves/*.c)
FILE(GLOB NN src/nn/*.c)
FILE(GLOB SIG src/sig/*.c)
FILE(GLOB HASH src/hash/*.c)
FILE(GLOB UTILS src/utils/*.c)

# 使用MESSAGE可以打印消息
MESSAGE("source files in utils:${UTILS}")

# 生成静态库
add_library(ecc
            ${FP}
            ${CURVES}
            ${HASH}
            ${NN}
            ${SIG}
            ${UTILS}
        )

# 生成动态库,参数为(目标名称 [SHARED] 源代码文件)
# 默认生成静态链接库,使用SHARED指定生成动态链接库
add_library(ec SHARED
            ${FP}
            ${CURVES}
            ${NN}
            ${UTILS})

# 生成可执行程序
add_executable(fp_test
			src/fp/test.c
            ${FP}
            ${NN}
            ${UTILS})
 # 搜索库文件,将路径保存到LIB_PTHREAD中
 find_library(LIB_PTHREAD pthread)
 # 链接指定库
 target_link_library(fp_test ${LIB_PTHREAD})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值