hyprland-plugins/hyprbars/Makefile

21 lines
419 B
Makefile
Raw Normal View History

CXXFLAGS = -shared -fPIC -g -std=c++2b -Wno-c++11-narrowing
Unbreak build on FreeBSD (#23) * make: unhardcode pixman-1 and libdrm include cflags On BSDs /usr/include only contains headers from base system. $ pkg-config --cflags pixman-1 -I/usr/local/include/pixman-1 $ pkg-config --cflags libdrm -I/usr/local/include -I/usr/local/include/libdrm * make: drop GCC dependencies /bin/sh: g++: not found c++: error: unsupported option '--no-gnu-unique' error: invalid value 'c++23' in '-std=c++23' * make: drop GNU make extensions Makefile is evaluated by both GNU make and BSD make but their extensions are not compatible. Instead of renaming Makefile to GNUmakefile support both. - GNU $(shell ...) is BSD ${:!...!} or POSIX sh `...` or $$(...) - GNU $^ is BSD $> for target rule prerequisites * hyprbars: silence Clang -Wc++11-narrowing like Hyprland barDeco.cpp:73:47: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:73:47: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<double>( ) barDeco.cpp:73:92: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~ barDeco.cpp:73:92: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:249:24: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] m_seExtents = {{0, *PHEIGHT + 1}, {}}; ^~~~~~~~~~~~ barDeco.cpp:249:24: note: insert an explicit cast to silence this issue m_seExtents = {{0, *PHEIGHT + 1}, {}}; ^~~~~~~~~~~~ static_cast<double>( ) barDeco.cpp:251:34: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:251:34: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<double>( ) barDeco.cpp:251:79: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~ barDeco.cpp:251:79: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:253:31: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:253:31: note: insert an explicit cast to silence this issue wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:253:97: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:253:97: note: insert an explicit cast to silence this issue wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:254:31: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing] (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:254:31: note: insert an explicit cast to silence this issue (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:254:76: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing] (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:254:76: note: insert an explicit cast to silence this issue (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:273:30: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:273:30: note: insert an explicit cast to silence this issue wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:273:92: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:273:92: note: insert an explicit cast to silence this issue wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:338:41: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [- Wc++11-narrowing] return SWindowDecorationExtents{{0, *PHEIGHT}, {}}; ^~~~~~~~ barDeco.cpp:338:41: note: insert an explicit cast to silence this issue return SWindowDecorationExtents{{0, *PHEIGHT}, {}}; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:344:100: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~ barDeco.cpp:344:100: note: insert an explicit cast to silence this issue return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:344:110: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~~~~~~~~~~~~ barDeco.cpp:344:110: note: insert an explicit cast to silence this issue return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~~~~~~~~~~~~ static_cast<double>( ) Based on https://github.com/hyprwm/Hyprland/commit/9ee14eb4452e
2023-05-07 16:38:50 +02:00
INCLUDES = `pkg-config --cflags pixman-1 libdrm hyprland pangocairo`
LIBS = `pkg-config --libs pangocairo`
SRC = main.cpp barDeco.cpp
TARGET = hyprbars.so
all: $(TARGET)
$(TARGET): $(SRC)
Unbreak build on FreeBSD (#23) * make: unhardcode pixman-1 and libdrm include cflags On BSDs /usr/include only contains headers from base system. $ pkg-config --cflags pixman-1 -I/usr/local/include/pixman-1 $ pkg-config --cflags libdrm -I/usr/local/include -I/usr/local/include/libdrm * make: drop GCC dependencies /bin/sh: g++: not found c++: error: unsupported option '--no-gnu-unique' error: invalid value 'c++23' in '-std=c++23' * make: drop GNU make extensions Makefile is evaluated by both GNU make and BSD make but their extensions are not compatible. Instead of renaming Makefile to GNUmakefile support both. - GNU $(shell ...) is BSD ${:!...!} or POSIX sh `...` or $$(...) - GNU $^ is BSD $> for target rule prerequisites * hyprbars: silence Clang -Wc++11-narrowing like Hyprland barDeco.cpp:73:47: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:73:47: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<double>( ) barDeco.cpp:73:92: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~ barDeco.cpp:73:92: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT}; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:249:24: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] m_seExtents = {{0, *PHEIGHT + 1}, {}}; ^~~~~~~~~~~~ barDeco.cpp:249:24: note: insert an explicit cast to silence this issue m_seExtents = {{0, *PHEIGHT + 1}, {}}; ^~~~~~~~~~~~ static_cast<double>( ) barDeco.cpp:251:34: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:251:34: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<double>( ) barDeco.cpp:251:79: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~ barDeco.cpp:251:79: note: insert an explicit cast to silence this issue const auto BARBUF = Vector2D{(int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT} * pMonitor->scale; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:253:31: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:253:31: note: insert an explicit cast to silence this issue wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:253:97: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:253:97: note: insert an explicit cast to silence this issue wlr_box titleBarBox = {(int)m_vLastWindowPos.x - *PBORDERSIZE - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y - *PBORDERSIZE - *PHEIGHT - pMonitor->vecPosition.y, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:254:31: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing] (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:254:31: note: insert an explicit cast to silence this issue (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:254:76: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'int' in initializer list [-Wc++11-narrowing] (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:254:76: note: insert an explicit cast to silence this issue (int)m_vLastWindowSize.x + 2 * *PBORDERSIZE, *PHEIGHT + *PROUNDING * 3 /* to fill the bottom cuz we can't disable rounding there */}; ^~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:273:30: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:273:30: note: insert an explicit cast to silence this issue wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:273:92: error: type 'double' cannot be narrowed to 'int' in initializer list [-Wc++11-narrowing] wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ barDeco.cpp:273:92: note: insert an explicit cast to silence this issue wlr_box windowBox = {(int)m_vLastWindowPos.x + offset.x - pMonitor->vecPosition.x, (int)m_vLastWindowPos.y + offset.y - pMonitor->vecPosition.y, (int)m_vLastWindowSize.x, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ static_cast<int>( ) barDeco.cpp:338:41: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [- Wc++11-narrowing] return SWindowDecorationExtents{{0, *PHEIGHT}, {}}; ^~~~~~~~ barDeco.cpp:338:41: note: insert an explicit cast to silence this issue return SWindowDecorationExtents{{0, *PHEIGHT}, {}}; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:344:100: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~ barDeco.cpp:344:100: note: insert an explicit cast to silence this issue return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~ static_cast<double>( ) barDeco.cpp:344:110: error: non-constant-expression cannot be narrowed from type 'int64_t' (aka 'long') to 'double' in initializer list [-Wc++11-narrowing] return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~~~~~~~~~~~~ barDeco.cpp:344:110: note: insert an explicit cast to silence this issue return g_pInputManager->getMouseCoordsInternal() - m_pWindow->m_vRealPosition.vec() + Vector2D{*PBORDER, *PHEIGHT + *PBORDER}; ^~~~~~~~~~~~~~~~~~~ static_cast<double>( ) Based on https://github.com/hyprwm/Hyprland/commit/9ee14eb4452e
2023-05-07 16:38:50 +02:00
$(CXX) $(CXXFLAGS) $(INCLUDES) $^ $> -o $@ $(LIBS)
2023-02-28 21:30:51 +01:00
clean:
rm ./$(TARGET)
meson-build:
mkdir -p build
cd build && meson .. && ninja
.PHONY: all meson-build clean