我的项目包含我要在编译过程中排除的单元测试文件。我想使用CMAKE修改.vcxproj Visual Studio文件。我问题的可能解决方案是什么?
set_source_files_properties(BankTestCase_1.h PROPERTIES VS_DEPLOYEMENT_CONTENT 0)
set_source_files_properties(BankTestCase_1.h PROPERTIES EXCLUDE_FROM_BUILD 1)
首先,您不修改.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添加所有源文件,则可以随时将其从列表中删除:
list(REMOVE_ITEM globbed_files file/to/be_excluded.cpp)