-
Notifications
You must be signed in to change notification settings - Fork 315
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
Cmake #535
Cmake #535
Conversation
And additional profiling zone markers.
In accordance with the CSS specs.
Employ it around the library for extra debug checks (only with rtti enabled).
…iling markers, solves mikke89#516 Tracy client can now be included in one of three ways, in prioritized order: 1. Using target Tracy::TracyClient from parent project. 2. As a config package. 3. With Tracy source files located in 'Dependencies/Tracy'. Adds three new CMake options: - `RMLUI_TRACY_PROFILING`: Enable profiling, replaces the old option `ENABLE_TRACY_PROFILING`. - `RMLUI_TRACY_MEMORY_PROFILING`: Overloads global operator new/delete for memory inspection. - `RMLUI_TRACY_CONFIGURATION`: Only relevant for multi-config generators. If enabled, adds Tracy as a separate configuration, otherwise adds Tracy to all configurations.
Update tracy integration, allow parent projects to include RmlUi profiling markers
Our |
Yes, this was meant for the modernised cmake file to carry over the fixes that we recently applied to the current cmake file. It is actually the same fix, but since the modernised version puts more stuff into separate files, I brought the helper function to a external file as well. |
If this is meant to be on top of the modernized CMake PR, then here's a few comments:
Since CPack already supports creating macOS bundles, and these bundles are nothing but structured directories, it should be possible to declare the samples as non- If CPack were found not to be a proper solution for this, it could be possible to add a call to |
Well, I must confess, I am somewhat irritated anout this comment as the above change is the same change we applied to the current cmake file. The point is to make the samples immediately work. Without those changes, you compile the demos and when trying to run they fail without further notice because of the missing assets. And IMHO this is a very bad first impression. The Windows/Linux builds are not the same as the executable of the mac version which is deeper inside the bundle folder structure. So you either copy the assets into the bundle or you add custom code to the find the assets. A self-contained bundle is yet another challenge as you would need to add all the dependencies like sdl, glfw whatever to the bundle as well. And even if you manage to do this, you will probabaly need to run post-copy tasks to fix the LC_PATH in the libs. If you follow discussions on the net you will notice many people reporting that the cmake bundles tools are not working as expected. It might be necessary either way to post-provess the bundle files to fix things up. To my impressions, the GLOB discussion is usually the other way around, but I might be wrong. It might be problematic that you need to re-configure if contents in the glob'bed folders have changed to be recognized. I is hard to understand that the time penalty during re-configuration is critical as re-configuration is presumably a task that is rarely done once a project is set up. You could replace the dirctory scanning by explicitely lising all asset files individually if this really deems necessary. And you could throw the bundles out and build single executables. Then, you do not have to deal with the bundle stuff, but it is not really macos-like anymore. I havn't considered this, because I tried to keep the existing build process intact and just fix non-working stuff. Well, and of course after all, you can simply ignore the PR if you don't see it fit. |
First of all, I appreciate the continued efforts here. I believe both of you have completely valid concerns. I hope we can make it easy for macOS users to integrate the library, and simultaneously keep our new CMake code clean with modern practices. With that said, this PR itself is a very minor refactoring. The cmake branch currently doesn't actually contain anything yet and this code would have to be implemented / refactored again for #446. It would be more valuable to try to make bundling work on top of the changes in #446. For these reasons, I am closing this one. But I want to encourage you to keep contributing toward our goals here. |
Bring macos demo fixes to new cmake files