CMake 添加不需要的文件

CMake adds unwanted files

我使用 CMake 开始了一个项目,我不知道为什么,它也将我从构建中排除的文件添加到构建列表中。 我的 CMakeList.txt 看起来像这样:

cmake_minimum_required(VERSION 3.14)
project(MyProj LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

include(FetchContent)
FetchContent_Declare(
  googletest
)

file(GLOB_RECURSE src_files CONFIGURE_DEPENDS
    "src/*"
)

file(GLOB_RECURSE test_files CONFIGURE_DEPENDS
    "test/*"
)

add_library(MyProj SHARED
  cpp.astylerc
  ${src_files}
)

target_compile_definitions(MyProj PRIVATE MYPROJ_LIBRARY)

install(TARGETS MyProj DESTINATION lib)
install(DIRECTORY src/. DESTINATION include/myproj)

add_executable(test
  ${test_files}
)

target_include_directories(test PUBLIC
    "../Dist/include"
)

#find_library(MYPROJ_LIBRARY NAMES MyProj PATHS "../Dist/lib" PATH_SUFFIXES lib)
#target_link_libraries(test LINK_PUBLIC ${MYPROJ_LIBRARY})

find_library(GTEST_LIBRARY NAMES gtest PATHS "/usr/lib" PATH_SUFFIXES lib)
target_link_libraries(test LINK_PUBLIC ${GTEST_LIBRARY})

find_library(GTEST_MAIN_LIBRARY NAMES gtest_main PATHS "/usr/lib" PATH_SUFFIXES lib)
target_link_libraries(test LINK_PUBLIC ${GTEST_MAIN_LIBRARY})

我将测试和源文件保存在不同的目录(src 和测试)中,一切正常,直到我尝试部署(安装)。 当我切换到 Debug 时,我构建并启动部署,它的行为就像它在尝试编译测试内容,即使没有指定测试目标也是如此..

如何排除安装目标的测试目录中的文件? 我在 CMakeList.txt 文件中遗漏了一些东西(或者做错了什么?)。

干杯

正如@Tsyvarev 所说,将“EXCLUDE_FROM_ALL”设置添加到测试目标的 add_executable() cmake-command 中解决了这个问题。

更多信息:CMake