ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

cmake简单使用教程

2021-02-01 18:33:38  阅读:287  来源: 互联网

标签:hardware 教程 cmake -- LIST beep 简单 CMake main


CMakeLists.txt:

# ------------------project目录---------------------- #
# |-- bin
# |-- lib
# |-- main.c
# |-- testFunc.c
# |-- testFunc.h
# |-- CMakeLists.txt
# |-- hardware
# |          |-- beep.c
# |          |-- beep.h
# |          |-- server.c
# |          |-- server.h
# |-- header1
# |          |-- xxx.h
# |-- header2
# |          |-- xxx.h
# |-- source1
# |          |-- xxx.c
# |-- source2
# |          |-- xxx.c
# |-- testLib
# |          |-- tlib.a
# ---------------------------------------------------- #


# ------------------cmake内容----------------------- #
# 最低版本要求
cmake_minimum_required(VERSION 2.8)

# 工程名
project(demo)

# 将hardware目录下的所有源文件列表存放到变量HARDWARE_LIST里
# aux_source_directory(./hardware HARDWARE_LIST)
aux_source_directory(./source1 SOURCE1_LIST)
aux_source_directory(./source2 SOURCE2_LIST)

# 将指定的源文件存放到变量HARDWARE_LIST里
set(HARDWARE_LIST
      ./hardware/beep.c
      ./hardware/server.c)

# 将目标二进制可执行文件的存放位置,改为工程的根目录下的bin文件夹下
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

# 添加多个指定头文件的搜索路径
include_directories(header1 header2)

# 添加存放源文件的子目录,或者指定中间二进制和目标二进制的存放位置,src下也需要建立一个CMakeLists.txt
# add_subdirectory(src)

# 将源文件beep.c生成为动态库test_shared
add_library(test_shared SHARED ./hardware/beep.c)
# 设置最终生成的库的名称,还有其他如设置库的版本号等功能
set_target_properties(test_shared  PROPERTIES OUTPUT_NAME "testSH")

# 将源文件beep.c生成为静态库test_static 
add_library(test_static STATIC ./hardware/beep.c)
# 设置最终生成的库的名称,还有其他如设置库的版本号等功能
set_target_properties(test_static PROPERTIES OUTPUT_NAME "testST")

# 设置库文件的输出路径为lib目录
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

# 在testLib路径下查找库名称为tlib.a的库,并用变量名TEST_LIB表示
find_library(TEST_LIB tlib.a HINTS ${PROJECT_SOURCE_DIR}/testLib)

# 添加编译选项
add_compile_options(-std=c++11 -Wall)

# 将xxx.c生成可执行文件名main
add_executable(main main.c testFunc.c ${HARDWARE_LIST} ${SOURCE1_LIST})

# 将目标文件与库文件进行链接
#target_link_libraries(main ${TEST_LIB})
# ---------------------------------------------------- #


# ------------------cmake指令----------------------- #
# 1、cmake当前下的文件到"CMake"文件夹下,使用"Unix Makefiles"生成Makefile
# cmake . -G "Unix Makefiles" -B "CMake"
# 2、在"CMake"文件夹下,make生成的Makefile
# make -C "CMake"
# 3、运行"CMake"文件夹下的可执行文件main
# ./CMake/main
# 4、清除make生成的文件
# make clean -C "CMake"
# ---------------------------------------------------- #

在这里插入图片描述

在这里插入图片描述

标签:hardware,教程,cmake,--,LIST,beep,简单,CMake,main
来源: https://blog.csdn.net/sxf1061700625/article/details/113525765

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有