| macsforme | Juest: Did it work after you replaced sysincludedirs with externalincludedirs? I believe that keyword was for our dependency headers versus local headers. | 02:16 |
|---|---|---|
| macsforme | I believe we moved the "output-" prefix for our dependencies, so that might need to be updated as well. | 02:16 |
| macsforme | From memory, filters were preferable to OS-specific conditionals because you can technically create project files for another platform/OS than the one you are currently on (whether this was actually practical was another matter). | 02:18 |
| macsforme | I am not sure why you would be running into Windows logic on macOS, but that could be investigated once the other issues are corrected. | 02:19 |
| macsforme | Premake seemed fairly widely adopted, including by major developers such as Blizzard. The advantage over Cmake was in the more straightforward syntax, and other capabilities that Lua affords. It was able to create project files for all platforms/IDEs with rough feature parity at the time of implementation. | 02:27 |
| *** FastLizard4 is back | 02:52 | |
| *** FastLizard4 is now away: AWAY from keyboard | 03:21 | |
| *** FastLizard4 is back | 04:05 | |
| *** Ribby is now away: Auto-away | 05:40 | |
| *** FastLizard4 is now away: AWAY from keyboard | 05:57 | |
| *** Sgeo <Sgeo!~Sgeo@user/sgeo> has quit IRC (Read error: Connection reset by peer) | 06:26 | |
| *** Ribby <Ribby!uid380536@id-380536.helmsley.irccloud.com> has quit IRC (Quit: Connection closed for inactivity) | 07:42 | |
| *** FastLizard4 is back | 08:51 | |
| *** FastLizard4 is now away: AWAY from keyboard | 09:20 | |
| *** Cobra_Fast is now away: offline | 11:07 | |
| *** Cobra_Fast is back | 11:07 | |
| blast007 | macsforme: I think it was just parsing the whole file regardless of platform, and it was seeing that invalid keyword | 12:55 |
| *** FastLizard4 is back | 13:32 | |
| Juest | yeah, the way to fix that is by using if os | 14:03 |
| Juest | just like in cmake you can only show presets if the host matches the current running os | 14:04 |
| Juest | the desired os* | 14:04 |
| Juest | macsforme: blast007 looked into it, no word if he tried locally, i feel like waiting for whatever is in the oven from blast, its not a big deal but yeah sure i can try replacing that but i feel its a bit more than just a word replacement | 14:06 |
| Juest | realistically premake is still a minority | 14:06 |
| Juest | and its still beta software | 14:06 |
| Juest | windows is listed first, you'd run through all the platforms parsing logic despite not being on the target os because filters are not replacements for lua if conditions | 14:08 |
| Juest | s/for/of/ | 14:08 |
| Juest | yet for some reason the windows project files were not removed, only linux and macos ones | 14:09 |
| Juest | in cmake presets for example you see all platforms listed if you dont specify the os filter | 14:12 |
| *** FastLizard4 is now away: AWAY from keyboard | 14:39 | |
| *** Agatha <Agatha!~agatha@user/agatha> has quit IRC (Ping timeout: 247 seconds) | 15:04 | |
| macsforme | blast007: okay, that makes sense | 15:05 |
| macsforme | Juest: please see blast007's comment... logic from other operating systems/platforms should not cause an issue if parsed correctly (no errors) and then filtered out... I already explained why filters are used | 15:08 |
| blast007 | At minimum, I'll have a CMake project for building the dependencies. I basically have that working already. I *think* I also had a working CMake project that could build the Windows version of the game. I can't recall how far I had gotten on the macOS side. I seem to recall I was having issues with linking the third-party dependencies, but I don't recall if that was using the Xcode project ... | 15:08 |
| blast007 | ... in 2.4, or if it was me trying to use CMake to generate an Xcode project. | 15:08 |
| blast007 | One big change is that I won't need to have all the source code files for the third-party dependencies, since the CMake project handles downloading the source archives and validates the hash. | 15:09 |
| macsforme | and yes, after discussion, premake scripts were not accepted as a replacement for windows or makefile project files, hence why those were not removed... but the capability is there | 15:09 |
| blast007 | Only source I still need to have is our regex stuff for Windows, and that could go away if we migrate to the std::regex stuff. | 15:10 |
| *** FastLizard4 is now away: GONE - Screen Detached and Disconnected from IRC (I'm probably asleep, at work, or doing something in real life) | 15:11 | |
| macsforme | is CMake dependency management preferable to something like the git submodule feature? | 15:11 |
| blast007 | macsforme: mostly it's that we have to use CMake to build stuff like curl now, since they removed the other build methods. | 15:11 |
| blast007 | to update to a new version of a lib with this CMake method, you just need to edit the URL and the hash in CMakeLists.txt | 15:13 |
| blast007 | it uses this: https://cmake.org/cmake/help/latest/module/ExternalProject.html | 15:15 |
| Juest | noted macsforme | 15:44 |
| Juest | blast007: the idea is having prebuilt sources provided for dependencies like something like obs-studio does? | 15:44 |
| Juest | for windows and mac | 15:44 |
| Juest | through cmake | 15:44 |
| Juest | prebuilt dependencies that is | 15:45 |
| *** Aeonovyli <Aeonovyli!~Aeonovyli@145.82.151.167> has joined #bzflag | 15:48 | |
| *** Aeonovyli <Aeonovyli!~Aeonovyli@145.82.151.167> has quit IRC (Client Quit) | 15:49 | |
| blast007 | it would be cool to automate that with a Github Action | 16:45 |
| blast007 | though... I don't know how much it matters that the Visual C++ runtime version matches between deps and the actual game | 16:46 |
| blast007 | oh, they don't offer Visual Studio 2017 with github actions. Only 2022 and 2026. | 16:47 |
| blast007 | scratch that, just visual studio 2026. I misread. :) | 16:47 |
| Juest | blast007: you should be able to build past vs versions on 2026 just fine | 16:48 |
| Juest | try it and see if it works out of the box maybe? | 16:48 |
| blast007 | but then we're using a different Visual C++ runtime for the deps versus the actual game | 16:49 |
| Juest | there are other ci services than github actions | 16:49 |
| blast007 | (and 2026 might only support Windows 10 and up) | 16:49 |
| Juest | 2026 only supports 10 and later, yes | 16:49 |
| Juest | windows 7 is dropped | 16:50 |
| Juest | but 8.1 still somewhat works, i heard | 16:50 |
| blast007 | right now we can work on 8, and 7/Vista can work if we figure out the ares issue | 16:50 |
| blast007 | c-ares* | 16:50 |
| Juest | could look into appveyor maybe? | 16:50 |
| blast007 | (I know at least one person that was upset we said we were dropping XP support a few years back) | 16:51 |
| Juest | also we could use/have github actions for reference not for distribution | 16:51 |
| blast007 | https://github.com/microsoft/setup-msbuild <-- I'll have to see if this works | 16:55 |
| blast007 | https://stackoverflow.com/questions/50028570/is-it-possible-to-build-cmake-projects-directly-using-msbuildtools | 16:55 |
| Juest | you can use cmake integrated in visual studio afaik | 16:57 |
| blast007 | right, but I mean for automatically building dependencies in a github action | 16:58 |
| Juest | also you can use vcpkg | 16:58 |
| Juest | for the dependencies | 16:58 |
| blast007 | I have tried vcpkg before | 16:58 |
| Juest | its heavy but could do for gha | 16:59 |
| blast007 | and conan | 16:59 |
| blast007 | didn't have as much control over how the libs were built | 16:59 |
| *** bozo16 <bozo16!~bozo16@2804:378:9223:9200:94d7:e50d:68f7:9991> has joined #bzflag | 16:59 | |
| blast007 | for instance, with curl, I can turn off a BUNCH of protocols that we'll never need | 16:59 |
| blast007 | and I can link it against c-ares | 17:00 |
| blast007 | I can't recall if I could do any of that with vcpkg | 17:00 |
| Juest | i imagine neither anaconda has control over the building | 17:01 |
| blast007 | with CMake's ExternalProject, I can control how it's all built | 17:02 |
| Juest | is it worth having prebuilt dependencies for macos and windows delivered through cmake dependency downloader setup? | 17:03 |
| blast007 | meaning? | 17:04 |
| blast007 | FetchContent? | 17:05 |
| Juest | not familiar with the names but yeah sure whatever it is | 17:06 |
| blast007 | that looks like it just downloads the source and builds it | 17:08 |
| Juest | oh i see hm | 17:08 |
| Juest | well, idk what obs-studio is doing exactly but it downloads prebuilt packages of dependencies to build the app during the configuration stage as a fallback for not having the sources found | 17:09 |
| *** kongr45gpen is now known as alezakos | 17:21 | |
| Juest | sup blast007 ? | 18:00 |
| blast007 | the git repo for obs-studio just has a deps/ folder with the source code for the dependencies | 19:20 |
| *** I_Died_Once <I_Died_Once!~I_Died_On@108-198-52-90.lightspeed.tukrga.sbcglobal.net> has joined #bzflag | 19:43 | |
| *** _I_Died_Once <_I_Died_Once!~I_Died_On@108-198-52-90.lightspeed.tukrga.sbcglobal.net> has quit IRC (Ping timeout: 245 seconds) | 19:46 | |
| Juest | blast007: it brings a prebuilt package for cef and qt though | 21:07 |
| Juest | macsforme: i got premake working but its a bit messy in xcode but whatever :p the dependencies subfolder names are fine | 21:08 |
| Juest | blast007: see the cmake files about the dependencies setup it has :) | 21:22 |
| Juest | obs-deps is a separate repo available as a submodule | 21:22 |
| *** Sgeo <Sgeo!~Sgeo@user/sgeo> has joined #bzflag | 22:51 | |
| *** Agatha <Agatha!~agatha@50.39.195.67> has joined #bzflag | 23:30 | |
| *** xdotool <xdotool!~the_map@user/the-map/x-5158391> has quit IRC (Ping timeout: 252 seconds) | 23:48 | |
| *** xdotool <xdotool!~the_map@user/the-map/x-5158391> has joined #bzflag | 23:50 | |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!