Commit Graph

3974 Commits

Author SHA1 Message Date
Pietro Gagliardi bca7dacd31 Set up CI with Azure Pipelines [skip ci] 2019-03-31 23:38:39 -04:00
Pietro Gagliardi 07f04f1cc8 Updated the README to talk about Meson. Now we have to just set up the CI and all is good to merge. 2019-03-31 21:07:46 -04:00
Pietro Gagliardi f7907f38c6 Decided to just deal with the name tester instead of test for now. It's not that important to block merging. 2019-03-31 11:09:16 -04:00
Pietro Gagliardi ff3d39213e Decided to just build everything by default and not have separate all or examples targets since we don't really have much control over what's a top-level target anyway (and ninja on its own == ninja all). Also set layout to flat by default, since it keeps everything together, which will lead to less surprising behavior on Windows and is more useful for our release packages. 2019-03-31 11:04:20 -04:00
Pietro Gagliardi 35750c41fe Removed the TODO on the spurious MSVC warning; it's a meson bug and I've filed it now. When I rewrite the README, I'll link that bug. 2019-03-31 01:02:00 -04:00
Pietro Gagliardi 5c0f542222 Removed TODO about incremental linking; I checked meson's source code and the way I'm specifying to turn it off is indeed the way to turn it off (and in fact is how it's disabled with --buildtype=minsize as well, so). 2019-03-30 17:56:47 -04:00
Pietro Gagliardi 31ca852cef Demote various MESONTODOs to TODOs now that I filed issues for them with mesonbuild/meson. Almost done! 2019-03-30 15:43:33 -04:00
Pietro Gagliardi 629074d269 Slightly refactored a TODO. 2019-03-30 14:17:13 -04:00
Pietro Gagliardi 223972f87b Removed the MESONTODO for Haiku (*_machine.system() already supports this) and DESTDIR (Meson handles this for us; see https://mesonbuild.com/Installing.html#destdir-support). 2019-03-30 11:36:51 -04:00
Pietro Gagliardi 5c8dd4e7c3 Demote the TODO about 32-bit Mac from a MESONTODO to a normal TODO, meaning it doesn't block merging this branch back. Turns out we're not 32-bit compliant anymore :/ I'll handle that separately. 2019-03-30 11:30:55 -04:00
Pietro Gagliardi 4023e1bba3 Removed the TODO on meson dist; that's documented at https://mesonbuild.com/Creating-releases.html. Also deduplicated some TODOs. 2019-03-29 11:47:17 -04:00
Pietro Gagliardi 257536103f Clean up specification of Windows dependency listp also suggested by TheQwertiest in freenode #mesonbuild. Also more TODOs. 2019-03-29 11:03:07 -04:00
Pietro Gagliardi 7ea8c33547 Removed TODO about bulk Windows libraries as the answer is no; thanks TheQwertiest in freenode #mesonbuild. 2019-03-29 10:46:27 -04:00
Pietro Gagliardi 53c2fe9d00 Properly specified -lm and -ldl on Unix. 2019-03-29 09:35:38 -04:00
Pietro Gagliardi d62775ad02 And migrated the last missing bit from the CMakeLists.txt into meson.build; thanks to someone from freenode #mesonbuild. No more CMake files! 2019-03-28 20:18:05 -04:00
Pietro Gagliardi 81e25f76f2 Moved the binary PIC as a TODO and marked merge blockers as MESONTODO. Also removed a stale cmake-era TODO, because the manifest distribution idea it had will eventually be part of the uires tool. 2019-03-27 21:34:09 -04:00
Pietro Gagliardi 70fe716d06 Removed bit about PIC in libraries; meson builds shared libraries as PIC always (and by default in the future, should the need to not have a PIC shared library arise). Executables will be a bit harder due to meson versioning. 2019-03-27 21:02:50 -04:00
Pietro Gagliardi 922dca4f1e Resolved \$ORIGIN question; thanks to someone in freenode #cmake. 2019-03-27 10:19:40 -04:00
Pietro Gagliardi 65b97b6836 Pruned unnecessary stuff from _wip/examples_drawtext_CMakeLists.txt. Not sure what's going to happen to these examples, but we're going to have to keep this particular file around until that's decided. 2019-03-27 01:11:01 -04:00
Pietro Gagliardi e1d6f35ef0 And settled examples/CMakeLists.txt. 2019-03-27 01:09:54 -04:00
Pietro Gagliardi 99f2b8f5ad And settled test/CMakeLists.txt; nothing there that needed to be moved. 2019-03-27 01:07:03 -04:00
Pietro Gagliardi f6ef61cdee And settled common/CMakeLists.txt (it also had nothing that needed to be moved). 2019-03-27 01:05:57 -04:00
Pietro Gagliardi 8b37a98170 Settled unix/CMakeLists.txt (was already complete in unix/meson.build) and darwin/CMakeLists.txt (just had one other thing needing to be moved). 2019-03-27 01:02:50 -04:00
Pietro Gagliardi 6a5fedf3f4 Settled windows/CMakeLists.txt. 2019-03-27 00:59:32 -04:00
Pietro Gagliardi f65caac1ce More CMakeLists.txt cleanup. What's left in the top-level CMakeLists.txt is gonna take a while to put back properly... 2019-03-27 00:56:43 -04:00
Pietro Gagliardi beba7470f4 Started cleaning out the CMakeLists.txt. meson automatically includes -fomit-frame-pointer for the address sanitizer, so no extra work needed. 2019-03-27 00:46:34 -04:00
Pietro Gagliardi b3232cc50c Cleaned up the comment at the top of meson.build, removing stale information and converting remaining loose ends into explicit TODOs. 2019-03-26 22:10:48 -04:00
Pietro Gagliardi 77f3b41940 Removed a stale TODO and moved notes about Windows flags into its own file because these probably won't be handled any time soon... 2019-03-26 22:06:20 -04:00
Pietro Gagliardi c940b85b84 Removed TODOs about finding the best wya to do things, as either there is none or the way I was doing it was already the right way (as with -mmacosx-version-min, judging from the repo code). 2019-03-26 22:03:39 -04:00
Pietro Gagliardi fec83e72bf Clean up add_project_arguments()/add_project_link_arguments() invocations. 2019-03-26 21:53:00 -04:00
Pietro Gagliardi 0d9cfa0f68 Resolved some TODOs/removed some stale TODOs. The one about libui_is_debug was confirmed by freenode elibrokeit as the pacman package manager uses it. 2019-03-25 23:12:28 -04:00
Pietro Gagliardi 0b87ee9f93 More TODOs. 2019-03-25 20:52:49 -04:00
Pietro Gagliardi 9527bb73ca Remove /nologo options from meson.build files; according to jpakkane, this is already provided by meson. 2019-03-25 20:17:42 -04:00
Pietro Gagliardi 1b9250e41e Removed include_directories hackery, as suggested by various people in freenode #mesonbuild. 2019-03-25 20:07:22 -04:00
Pietro Gagliardi 87f2be6849 Rewrote one expression to reduce the number of variables. 2019-03-25 10:46:41 -04:00
Pietro Gagliardi c449ab7da9 Fixed the name of the Windows DLL in meson.build. 2019-03-25 10:29:18 -04:00
Pietro Gagliardi 3457082b1b Set up examples meson.build. 2019-03-24 17:26:15 -04:00
Pietro Gagliardi 467a9102ec Fixed static builds on all platforms. So close to getting all this set up! 2019-03-24 14:11:02 -04:00
Pietro Gagliardi c1dfc0ab5d And got the Windows build working. Woo! 2019-03-24 12:57:25 -04:00
Pietro Gagliardi 2be9a4f3a3 Added the initial Windows meson.build. Windows Meson is having problems running, so we'll have to test this later. 2019-03-23 22:28:17 -04:00
Pietro Gagliardi 5e557d61b3 Set the minimum required meson version and moved the libui-specific OS X variables into darwin.build like we did with unix.build. 2019-03-23 21:50:54 -04:00
Pietro Gagliardi dff8ec0f22 Set up the Unix meson.build. That seems to work too. 2019-03-23 21:06:19 -04:00
Pietro Gagliardi cdd997b6f6 Added tester build file and made sure everything works. It works! 2019-03-23 18:12:33 -04:00
Pietro Gagliardi 1deacb55aa And massaged things into a buildable state. Woo. NOW things are starting to get annoying, but at least it's not so much *voodoo* anymore? 2019-03-23 16:18:13 -04:00
Pietro Gagliardi 253ce9a3cc Decided to just use add_project_(link_)arguments() for now, and set up the macOS build for testing. 2019-03-23 15:42:42 -04:00
Pietro Gagliardi 035139a1e9 Set up the macOS dependencies; I found it by accident :V Also removed the independent temporary dependency variables. 2019-03-22 22:46:53 -04:00
Pietro Gagliardi a440b174f7 Use host_machine instead of target_machine. Confusingly, host_machine is not the build host, but rather the target machine that the binaries will run on. build_machine is the build host. It probably made sense to the person in the 1980s who came up with this, but meh. 2019-03-22 22:04:07 -04:00
Pietro Gagliardi 7063ed6e32 Take some suggestions from the meson IRC channel: don't set unnecessary variables before project(); don't disallow plain builds since the options that meson doesn't apply aren't any of the ones I care about. 2019-03-22 22:00:19 -04:00
Pietro Gagliardi 1a9b0881bc Clean up meson.build slightly and add a section to the top to describe what I want to do so I can ask people. 2019-03-21 23:21:30 -04:00
Pietro Gagliardi 355b5d05d3 Filled meson.build a bit more, so I can ask questions about it. 2019-03-21 11:23:30 -04:00