* git: prevent accidental push on generated files
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* cmake: fix wrong option usage
The option() function only dedicated for boolean type. For enumerated string, better use both set(... CACHE STRING ...) and set_property(CACHE ... PROPERTY STRINGS ...).
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* cmake: fix wrong string cache syntax in set()
For further information, visit the documentation at https://cmake.org/cmake/help/latest/command/set.html#set-cache-entry
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* cmake: warn if BUILD_ELINUX_SO is OFF but BACKEND_TYPE was modified
This commit prevents other new contributors from mistakenly blame CMakeLists.txt. Therefore, I added a warning just in case they forgot to turn on BUILD_ELINUX_SO while modifying BACKEND_TYPE.
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* cmake: enforce regex exactness for safety
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* drm: add libuv support as systemd replacement
Not all embedded systems can include systemd due to their constrained resource limit. Our requirement from libsystemd is only event loop (sd-event). Therefore, libuv is perfect as drop-in replacement of sd-event. I tested the changes on Raspberry Pi 5 with Buildroot (yes, I am working on it too) and a x86-64 laptop with Arch Linux. Both are working as intended. Interestingly, libuv makes flutter-elinux smoother on my laptop. I have no idea how to benchmark it, but it is a good sign for us.
For now, I am assuming users are still relying on libsystemd. Therefore, libuv only be used if the target device has no systemd. If maintainer want to drop the systemd dependency, I suggest to deprecate it gracefully and plan to drop it later. Otherwise, it would be a breaking change.
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* author: add Athaariq Ardhiansyah
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* style: overhaul to comply the standard
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* style: format with clang-format v14.0.6
I realized that clang-format is inconsistent between its versions. So, Arch Linux (clang v17) and Ubuntu Jammy (clang v14) will output different formatting result. For Arch Linux users, the clang14 package has no clang-format included. You need to compile the entire clang on your own until the downstream maintainer include it.
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
* cmake: fix error for CMake before v3.28
On some distributions with non-latest CMake, it will fail on configuration due to its incapability of substition from unset variable to an empty string. To fix this, we need to add double quotes between variables that will be tested by EQUAL, LESS, GREATER, and other related keywords. For better compatibility, use STREQUAL instead of EQUAL if possible.
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>
---------
Signed-off-by: Athaariq Ardhiansyah <foss@athaariq.my.id>