master #62
Merged
asmeron
merged 14 commits from YanTheKaller/ubl-settings-manager:master into master 2 years ago
@ -9,8 +9,10 @@ CMAKE_COMMAND = cmake
|
|||||||
CMAKE_SOURCE_DIR = $(MAKEFILE_PATH)source
|
|||||||
CMAKE_BUILD_DIR = $(MAKEFILE_PATH)compile
|
|||||||
DEPENDS = /bin/cmake
|
|||||||
PREFIX ?= /usr
|
|||||||
PREFIX ?= /usr/local
|
|||||||
PKGNAME = $(MAKEFILE_DIR)
|
|||||||
FILE_VER = source/${PKGNAME}.h
|
|||||||
PKGIDENT=$(subst /,-,${PREFIX})
|
|||||||
|
|||||||
default_target: all
|
|||||||
|
|||||||
@ -21,11 +23,11 @@ all: init build
|
|||||||
init:
|
|||||||
@echo "Initialize ..."; \
|
|||||||
if [ -d ".git" ]; then \
|
|||||||
LATEST_TAG=$$(git describe --tags | sed 's/^v//'); \
|
|||||||
LATEST_TAG=$$(git describe --abbrev=0 --tags | sed 's/^v//'); \
|
|||||||
else \
|
|||||||
LATEST_TAG="0.0"; \
|
|||||||
LATEST_TAG="Development"; \
|
|||||||
fi; \
|
|||||||
sed -r "s/^(string version_application = ).*/\1\"$${LATEST_TAG}\";/" -i source/${PKGNAME}.h; \
|
|||||||
sed -r "s/^(string version_application).*/\1 = \"$${LATEST_TAG}\";/" -i ${FILE_VER}; \
|
|||||||
echo "-- Build path: ${CMAKE_BUILD_DIR}"
|
|||||||
|
|||||||
depend:
|
|||||||
@ -64,7 +66,8 @@ check:
|
|||||||
|
|||||||
build: depend prepare
|
|||||||
@echo "Build ..."; \
|
|||||||
make --directory=${CMAKE_BUILD_DIR}; \
|
|||||||
$(MAKE_COMMAND) --directory=${CMAKE_BUILD_DIR}; \
|
|||||||
sed -r "s/^(string version_application).*/\1;/" -i ${FILE_VER}; \
|
|||||||
echo "Build: OK"
|
|||||||
|
|||||||
uninstall:
|
|||||||
@ -72,7 +75,7 @@ uninstall:
|
|||||||
@for FILE_PO in $(wildcard *.po); do \
|
|||||||
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
|
|||||||
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
|
|||||||
PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|||||||
PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|||||||
$(RM) "$${PATH_FILE_MO}"; \
|
|||||||
done
|
|||||||
@for SIZE in 16x16 32x32 48x48 scalable; do \
|
|||||||
@ -85,10 +88,9 @@ uninstall:
|
|||||||
done; \
|
|||||||
done
|
|||||||
@$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}"
|
|||||||
@$(RM) "${DESTDIR}/etc/xdg/${PKGNAME}/${PKGNAME}.conf"
|
|||||||
@$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop"
|
|||||||
@$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg"
|
|||||||
@$(RM) -rd "${DESTDIR}${PREFIX}/share/${PKGNAME}"
|
|||||||
@$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
|
|||||||
@if [ -z ${DESTDIR} ]; then \
|
|||||||
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
|
|||||||
update-desktop-database --quiet &>/dev/null || true; \
|
|||||||
@ -100,9 +102,9 @@ install: check uninstall
|
|||||||
@echo "Install ..."
|
|||||||
@for FILE_PO in $(wildcard *.po); do \
|
|||||||
LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \
|
|||||||
install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \
|
|||||||
install -dm755 "${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES"; \
|
|||||||
FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \
|
|||||||
PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|||||||
PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
|
|||||||
echo "$${FILE_PO}"; \
|
|||||||
msgfmt "$${FILE_PO}" -v -f -o "$${PATH_FILE_MO}"; \
|
|||||||
done
|
|||||||
@ -110,18 +112,12 @@ install: check uninstall
|
|||||||
install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \
|
|||||||
rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \
|
|||||||
done
|
|||||||
@install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps"
|
|||||||
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg"
|
|||||||
@cp ./com.ublinux.${PKGNAME}.policy ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy
|
|||||||
@sed -e 's+/usr/bin+${PREFIX}/bin+' -e 's+.run+${PKGIDENT}.run+g' ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy -i
|
|||||||
@install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}"
|
|||||||
@install -dm755 "${DESTDIR}/etc/xdg"
|
|||||||
@install -Dm644 -t "${DESTDIR}/etc/xdg/${PKGNAME}/" "${PKGNAME}.conf"
|
|||||||
|
|
|||||||
@install -dm755 "${DESTDIR}${PREFIX}/share/applications"
|
|||||||
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop"
|
|||||||
@install -dm755 "${DESTDIR}${PREFIX}/share/${PKGNAME}"/{ui,css,images}
|
|||||||
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/ui/" "${PKGNAME}.glade"
|
|||||||
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/css/" "${PKGNAME}.css"
|
|||||||
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/images/" "ublinux-logo.svg"
|
|||||||
|
asmeron
commented 2 years ago
Review
Зачем убрали ? |
|||||||
@install -Dm644 -t "${DESTDIR}${PREFIX}/share/${PKGNAME}/images/" "${PKGNAME}-banner.png"
|
|||||||
@install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy"
|
|||||||
@if [ -z ${DESTDIR} ]; then \
|
|||||||
[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \
|
|||||||
update-desktop-database --quiet &>/dev/null || true; \
|
|||||||
@ -147,4 +143,4 @@ help:
|
|||||||
echo "... compile"; \
|
|||||||
echo "... install"; \
|
|||||||
echo "... uninstall"; \
|
|||||||
echo "... clean"
|
|||||||
echo "... clean"
|
|||||||
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/com/ublinux/ui">
|
||||
<file>ubl-settings-manager.glade</file>
|
||||
</gresource>
|
||||
<gresource prefix="/com/ublinux/css">
|
||||
<file>ubl-settings-manager.css</file>
|
||||
</gresource>
|
||||
<gresource prefix="/com/ublinux/images">
|
||||
<file>ubl-settings-manager-banner.png</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
@ -1,12 +1,17 @@
|
|||||||
cmake_minimum_required(VERSION 3.23)
|
|||||||
cmake_minimum_required(VERSION 3.7)
|
|||||||
project(ubl-settings-manager)
|
|||||||
|
|||||||
find_package(PkgConfig REQUIRED)
|
|||||||
|
|||||||
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
|
|||||||
include_directories(${GTK3_INCLUDE_DIRS})
|
|||||||
link_directories(${GTK3_LIBRARY_DIRS})
|
|||||||
add_definitions(${GTK3_CFLAGS_OTHER})
|
|||||||
pkg_check_modules(GTK REQUIRED gtk+-3.0)
|
|||||||
include_directories(${GTK_INCLUDE_DIRS})
|
|||||||
link_directories(${GTK_LIBRARY_DIRS})
|
|||||||
add_definitions(${GTK_CFLAGS_OTHER})
|
|||||||
|
|||||||
pkg_check_modules(VTE291 REQUIRED vte-2.91)
|
|||||||
|
asmeron
commented 2 years ago
Review
VTE разве используется в приложении ? |
|||||||
include_directories(${VTE291_INCLUDE_DIRS})
|
|||||||
link_directories(${VTE291_LIBRARY_DIRS})
|
|||||||
add_definitions(${VTE291_CFLAGS_OTHER})
|
|||||||
|
|||||||
find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0)
|
|||||||
|
|||||||
@ -19,7 +24,42 @@ if(WEBKIT_LIBRARIES_FOUND)
|
|||||||
add_definitions(${WEBKIT_CFLAGS_OTHER})
|
|||||||
endif()
|
|||||||
|
|||||||
configure_file(ubl-settings-manager.h.in ubl-settings-manager-cm.h)
|
|||||||
configure_file(ubl-cmake.in ubl-cmake.h)
|
|||||||
|
|||||||
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h DESTINATION ./)
|
|||||||
|
|||||||
set(GRESOURCE_C resources.c)
|
|||||||
set(GRESOURCE_XML gresource.xml)
|
|||||||
|
|||||||
find_program(GLIB_COMPILE_RESOURCES NAMES glib-compile-resources REQUIRED)
|
|||||||
add_custom_target(GLADE ubl-settings-manager.glade)
|
|||||||
|
|||||||
set(DEPENDFILES
|
|||||||
../ubl-settings-manager.glade
|
|||||||
../gresource.xml
|
|||||||
../ubl-settings-manager-banner.png
|
|||||||
../ubl-settings-manager.css
|
|||||||
)
|
|||||||
|
|||||||
file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
|||||||
|
|||||||
add_custom_command(
|
|||||||
OUTPUT ${GRESOURCE_C}
|
|||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
|||||||
COMMAND ${GLIB_COMPILE_RESOURCES}
|
|||||||
ARGS
|
|||||||
--generate-source
|
|||||||
--target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
|||||||
${GRESOURCE_XML}
|
|||||||
VERBATIM
|
|||||||
MAIN_DEPENDENCY ${GRESOURCE_XML}
|
|||||||
DEPENDS
|
|||||||
${GLADE}
|
|||||||
)
|
|||||||
add_custom_target(
|
|||||||
dummy-resource
|
|||||||
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
|||||||
)
|
|||||||
|
|||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a")
|
|||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -lm")
|
|||||||
@ -27,18 +67,27 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissin
|
|||||||
-O2 -pipe -fno-plt -fexceptions \
|
|||||||
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
|
|||||||
-fstack-clash-protection -fcf-protection")
|
|||||||
|
|||||||
|
|||||||
set(SOURCE_FILES
|
|||||||
ubl-settings-manager.c
|
|||||||
ubl-settings-manager.h
|
|||||||
ubl-settings-manager-cm.h)
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/ubl-cmake.h
|
|||||||
)
|
|||||||
|
|||||||
set(LIBRARIES
|
|||||||
${GTK3_LIBRARIES}
|
|||||||
${GTK_LIBRARIES}
|
|||||||
${WEBKIT_LIBRARIES}
|
|||||||
${VTE291_LIBRARIES}
|
|||||||
pthread)
|
|||||||
|
|||||||
add_executable(${PROJECT_NAME} ${SOURCE_FILES})
|
|||||||
|
|||||||
add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C})
|
|||||||
target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES})
|
|||||||
target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR})
|
|||||||
set_source_files_properties(
|
|||||||
${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C}
|
|||||||
PROPERTIES GENERATED TRUE
|
|||||||
)
|
|||||||
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
|
|||||||
add_dependencies(${PROJECT_NAME} dummy-resource)
|
|||||||
@ -1 +0,0 @@
|
||||
#define WEBKIT_FOUND
|
||||
Loading…
Reference in new issue
Зачем убрали ?
Ссылки на этот файл остались в коде !