Во-первых, вы не изменяете файл .vcxproj
. CMake генерирует один. Каждый раз, когда вы вызываете cmake, генерируется новый файл проекта. Вы должны сгенерировать его правильно.
В CMake уже определена функция, предназначенная только для добавления тестов. Это называется add_test
Это работает путем указания имени, а затем команды или исполняемой цели:
add_executable(my_test_exe testsrc1.cpp testsrc2.cpp)
add_test(NAME MyTest COMMAND my_test_exe)
Если вы также не хотите компилировать тестовые файлы в своем основном проекте, просто не добавляйте их в основную цель:
add_executable(main_project
src1.cpp
src2.cpp
src3.cpp
src4.cpp
# srctest1.cpp # not added
# srctest2.cpp # not added too.
)
Также я заметил, что вы хотите удалить заголовочные файлы из компиляции. Заголовочные файлы не должны компилироваться вообще. Вы не должны добавлять их к своей цели.
Если вы использовали globs для добавления всех исходных файлов, то вы всегда можете удалить его из списка glob:
list(REMOVE_ITEM globbed_files file/to/be_excluded.cpp)