cmake实践:多文件夹的hello wrold
在上一节中,hello程序的hello.c, hello.h main.c均在同一文件夹
若要将hello.c hello.h main.c分别放在不同文件夹,则要写多个CMakeLists.txt
我们期望的文件结构是
├── build
├── CMakeLists.txt
├── lib
│ ├── CMakeLists.txt
│ ├── hello.c
│ └── hello.h
└── src
├── CMakeLists.txt
└── main.c
1. 修改顶层的CMakeLists.txt
project(HELLO)
add_subdirectory(src)
add_subdirectory(lib)
2. 修改src文件夹的CMakeLists.txt
include_directories(${PROJECT_SOURCE_DIR}/lib) set(SRC main.c) add_executable(hello ${SRC}) target_link_libraries(hello libhello)
3. 修改lib文件夹的CMakeLists.txt
set(LIB hello.c) add_library(libhello ${LIB}) set_target_properties(libhello PROPERTIES PREFIX "" OUTPUT_NAME "hello")
4. 运行hello
可执行文件生成在./build/src/文件夹下,运行即可