cmake初次使用,和增加gdb支持

这里简单的一个单一项目为例写一个CMakeList.txt文件。
#########################example############################################################# 
#项目的名字————必须
PROJCET(HELLO)

#工程的主目录,也就是CMakeList.txt文件所在的目录,这一条不是必须的,默认的是PROJCET_SOURCE_DIR变量,这里只是为了方便理解,相当于改了一个名字。
SET(BUILD_BASE_DIR ${PROJCET_SOURCE_DIR})

#增加gdb支持--不是必须,如果需要
SET(CMAKE_BUILD_TYPE Debug)
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")

#引入工程所有需要的头文件的目录,这里是工程目录下的include文件。如果还有其他的目录,中间加空格分开即可。比如还包括/home/include
#--必须,除非没有头文件
INCLUDE_DIRECTORIES(
     ${BUILD_BASE_DIR}/include /home/include
)

#引入工程的源代码所在目录比如c++的.cpp文件,本工程中的cpp文件放在source下
---必须,这个最起码有main.cpp把
SET(SRC_DIR ./source)
FILE(GLOB SRC_FILES ${SRC_DIR}/*.cpp)

#如果需要引入动态库,首先需要指定动态库目录,如下动态库放在了工程目录的lib下;如果有其他目录,中间加空格隔开
LINK_DIRECTORIES(${BUILD_BASE_DIR}/lib)

#设置需要引入的动态库的名字,方便下一步使用。不是必须
SET(LIB_TEST_NAME test_name)

#设置编译后的程序的存放位置----不是必须。
SET(EXECUTABLE_OUTPUT_PATH ${BUILD_BASE_DIR}/server)

#设置编译程序的名字和需要的源文件目录
ADD_EXECUTABLE(hello ${SRC_FILES})

#引入可执行程序需要的动态库--如果没有动态库不需要该,这条一定要在ADD_EXECUTABLE(hello ${SRC_FILES}) 这条之后。
TARGET_LINK_LIBRARIES(hello LIB_TEST_NAME)

#######################################################################################

你可能感兴趣的:(cmake初次使用,和增加gdb支持)