-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add cmake generate method #1212
base: master
Are you sure you want to change the base?
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文件,增加了一种编译方式