Conversation
|
有个问题,如果我在工程中添加或删除的cpp或h文件,那么CMakeList.txt文件也要相应更新,cmake好像还支持 |
|
支持,我直接从vcxproj里边复制进来的内容没有做*.cpp的修改
…---- 回复的原邮件 ----
| 发件人 | ***@***.***> |
| 日期 | 2022年08月24日 10:33 |
| 收件人 | ***@***.***> |
| 抄送至 | ***@***.******@***.***> |
| 主题 | Re: [zhongyang219/TrafficMonitor] add cmake generate method (PR #1212) |
有个问题,如果我在工程中添加或删除的cpp或h文件,那么CMakeList.txt文件也要相应更新,cmake好像还支持*.cpp这种通配符的写法吧。
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
|
建议使用aux_source_directory这样的语句来添加代码文件到CMake工程 |
改了一版 |
|
分支拉下来跑了一下,使用CMake 3.24.0-rc2,Ninja 1.11.0构建出错。
但是使用Visual Studio 2022作generator是没问题的,但是有CMake警告。
顺便建议给MSVC补上 /MP 加速编译。 edit 考虑把 build 和 out 文件夹放进 .gitignore 文件里面 |
|
看了下,想要Ninja这类非Visual Studio生成器支持clr比较困难,需要手动补充/FU选项或者在代码中使用#using语句,所以这块先不管了(摆烂)。 添加/MP后,CMake直接build还是没有使用多核编译,但是使用VS打开项目再编译是有效的,所以我写了个target。 if(CMAKE_GENERATOR MATCHES "Visual Studio")
add_custom_target(BUILD_ALL_WITH_MP_OPTION
COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target ALL_BUILD --config $<CONFIGURATION> -- -m)
endif()即直接给调用MSBuild的命令后面补了个 -m 选项。使用CMake编译时选BUILD_ALL_WITH_MP_OPTION目标,就可以启用多核编译了。 |
增加了连个CMakeLists.txt文件,增加了一种编译方式