工程文件结构
主目录CMakeLists.txt
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
PROJECT(SERIAL_TEST)
ADD_SUBDIRECTORY(serial)
include_directories(${PROJECT_SOURCE_DIR}/serial)
#不使用静态库
SET(SRC_APP main.c)
add_executable(serial_test ${SRC_LIST} ${SRC_APP})
#静态库方法
#add_executable(serial_test ${SRC_APP})
#target_link_libraries(serial serial_t)
#执行文件输出地址
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#生成调试信息
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O0 -g")
子目录CMakeLists.txt
CMAKE_MINIMUM_REQUIRED (VERSION 2.8)
#aux_source_directory(. DIR_LIB_SRCS)
#使用静态库
#add_library (serial_t ${DIR_LIB_SRCS})
#不使用静态库
set(serial ${PROJECT_SOURCE_DIR}/serial/serial.c)
#错误示例
#set(serial ${DIR_LIB_SRCS}/serial.c) //注意:不能使用相对路径
SET(SRC_LIST ${serial} PARENT_SCOPE)
注意:
1.子目录的set中的PARENT_SCOPE这个参数的作用是让SRC_LIST成为全局变量。
2.子目录下的set路径一定要是绝对路径