栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CMAKE基础示例

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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})
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676012.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号