簡體   English   中英

我想用 CMake 生成和編譯 Visual Studio projet 我需要從構建中排除單元測試文件。 有沒有辦法做到這一點?

[英]I want to generate & compile Visual Studio projet with CMake I need to exclude unit testing files from the build. Is there a way to dothis?

我的項目包含我想從編譯過程中排除的單元測試文件。 我想用 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 添加所有源文件,那么您始終可以將其從 glob 列表中刪除:

list(REMOVE_ITEM globbed_files file/to/be_excluded.cpp)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM