记录一个最简单的CmakeLists.txt的模型

#指定了cmake的最低版本
cmake_minimum_required(VERSION 3.5)
#工程名字,自己起的
project(testProject)


#判断编译器类型,如果是gcc编译器,则在编译选项中加入c++11支持
if(CMAKE_COMPILER_IS_GNUCXX)
    set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
    message(STATUS "optional:-std=c++11")   
endif(CMAKE_COMPILER_IS_GNUCXX)


#告诉编译器工程还包含一个子目录function,里面还有一个CmakeList文件,其实也就是告诉编译器先去编译那个子CmakeList文件。
add_subdirectory(function)

#头文件目录
include_directories(function)


#生成可执行文件main,我们在后面将工程中用到的源文件和头文件列出来
add_executable(main main.cpp)

#输出 当前 PROJECT_SOURCE_DIR表示当前目录下   PROJECT_BINARY_DIR表示当前编译目录,一般是build
message(STATUS ${PROJECT_SOURCE_DIR})

# 链接库文件,库文件 
# 在子文件夹中创建一个CMakeList.txt 写DIR_FUNC_SRCS

#将该目录下的所有的源文件名字保存在DIR_FUNC_SRCS中
#aux_source_directory(. DIR_FUNC_SRCS)
#生成链接库,名字为funcLib 加SHARED是动态库
#add_library(funcLib ${DIR_FUNC_SRCS})

target_link_libraries(main funcLib)

其他的一些用到的:

SET(CMAKE_CXX_COMPILER "arm-linux-gnueabihf-g++")

SET(CMAKE_C_COMPILER "arm-linux-gnueabihf-gcc")

aux_source_directory(${PROJECT_SOURCE_DIR}/share DIR_SHARE)

add_executable(exec ${DIR_SHARE})

原文链接: https://www.cnblogs.com/lianganant/p/15802473.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/185437

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 上午10:55
下一篇 2023年2月12日 上午10:55

相关推荐