用aux_source_directory 自动搜集需要的文件后缀名(推荐) 通过GLOB_RECURSE 自动包含所有子文件夹下的文件 单个.cpp源文件的情况 用这段代码进行测试,CMake 中添加一个可执行文件作为构建目标: #include <cstdio> int main() { printf("Hello, world!\n"); } 指定源文件的时候可以有两种方式。 在创建目标...
SET(CURRENT_SOURCE_ROOT ${PROJECT_SOURCE_DIR}/App/App1) include_directories( "${CURRENT_SOURCE_ROOT}/Server/inc" "${CURRENT_SOURCE_ROOT}/Client/inc" "${CURRENT_SOURCE_ROOT}/Include" ) aux_source_directory( ${CURRENT_SOURCE_ROOT}/Server/src/ APP1_SRCS ) aux_source_directory( ${CURRENT...
add_executable(main)file(GLOB sources CONFIGURE_DEPENDS *.cpp *.h mylib/*.cpp mylib/*.h)target_sources(main PUBLIC ${sources}) 用aux_source_directory 自动搜集需要的文件后缀名(推荐) add_executable(main)aux_source_directory(. sources)aux_source_directory(mylib sources)target_sources(main PUBLI...
aux_source_directory(${PROJECT_BINARY_DIR} SRC) ##CMAKE_CURRENT_BINARY_DIR是CMakeLists.txt的路径,找CMAKE_CURRENT_BINARY_DIR路径下的cpp文件 file(GLOB SRC ${CMAKE_CURRENT_BINARY_DIR}/*.cpp) #实例,文件结构{CMakeLists.txt, build, include, src},利用CMakeLists.txt编译src文件夹下的cpp等文件...
${PROJECT_SOURCE_DIR}的值是cmake后面的路径,其实也就是CMakeLists的路径(优先记忆)${CMAKE_CURRENT_SOURCE_DIR}的值是CMakeLists的路径 cmake_minimum_required(VERSION 3.15) project(test) #搜索源文件 aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src SRC) ...
如果你需要查找子目录中的源文件,你需要为每个子目录分别调用aux_source_directory,或者结合其他方法(如GLOB_RECURSE)使用。 4. 保存并关闭CMakeLists.txt文件 在完成对CMakeLists.txt文件的编辑后,保存并关闭它。 5. 重新运行CMake以应用更改 在命令行中,导航到你的项目目录,并重新运行CMake以应用更改。例如: ...
另外,我们使用了2次aux_source_directory,因为源文件分布在2个目录下,所以添加2次。 cmake_minimum_required (VERSION 3.5) project (demo1) include_directories (a b) #该命令是用来向工程添加多个指定头文件的搜索路径,路径之间用空格分隔。 aux_source_directory (a SRC_LIST) ...
AUX_SOURCE_DIRECTORY(dir VARIABLE) 作用是发现一个目录下所有的源代码文件,并将文件路径列表存储在一个变量中,这个指令临时被用来自动构建源文件列表。因为目前 cmake 还不能自动发现新添加的源文件。比如:AUX_SOURCE_DIRECTORY(. SRC_LIST),ADD_EXECUTABLE(main ${SRC_LIST}) ...
aux_source_directory(. all_source) add_library( native-lib SHARED ${my_source_path} ) 3.手动添加源文件(需要将所有源文件都添加的后面,不在同一目录下的要引入路径) #手动添加源文件add_library(native-lib SHARED native.c utils/test.c)
aux_source_directory(. DIR_LIB_SRCS) # 生成链接库 add_library (MathFunctions ${DIR_LIB_SRCS}) 在项目根目录的CMakeLists.txt的合适位置 添加add_subdirectory(math)指令,并建立可执行文件与静态库的链接,如 # 添加子目录 add_subdirectory(math) #运行到此行时,顶层CMakeLists.txt会处理math目录中的CMa...