Update .pro (gmic and .qm files handling)
This commit is contained in:
parent
fc0de38c88
commit
a344dbcafd
|
@ -1,3 +1,4 @@
|
|||
Makefile
|
||||
*.a
|
||||
*.o
|
||||
*.pro.user
|
||||
|
|
|
@ -1,23 +1,85 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Usage: check_version.sh GMIC_PATH [gmic|CImg|stdlib]
|
||||
#
|
||||
if [ $# != 2 ]; then
|
||||
echo
|
||||
set -o errexit
|
||||
function usage()
|
||||
{
|
||||
echo " Usage:"
|
||||
echo
|
||||
echo " check_version.sh GMIC_PATH [gmic|CImg|stdlib]"
|
||||
echo
|
||||
exit 0
|
||||
}
|
||||
|
||||
function die()
|
||||
{
|
||||
local message="$1"
|
||||
>&2 echo "Error: $*"
|
||||
exit 1
|
||||
}
|
||||
|
||||
(( $# == 0 )) && usage
|
||||
[[ -d "$1" ]] || die "$1 is not an existing directory"
|
||||
|
||||
# @param folder
|
||||
function gmic_version()
|
||||
{
|
||||
local folder="$1"
|
||||
[[ -e "${folder}/gmic.h" ]] || die "File not found: ${folder}/gmic.h"
|
||||
local version=$(grep -F "#define gmic_version " ${folder}/gmic.h)
|
||||
echo ${version//* }
|
||||
}
|
||||
|
||||
# @param folder
|
||||
function cimg_version()
|
||||
{
|
||||
local folder="$1"
|
||||
[[ -e "${folder}/CImg.h" ]] || die "File not found: ${folder}/CImg.h"
|
||||
local version=$(grep -F "#define cimg_version " ${folder}/CImg.h)
|
||||
echo ${version//* }
|
||||
}
|
||||
|
||||
# @param folder
|
||||
function stdlib_version()
|
||||
{
|
||||
local folder="$1"
|
||||
[[ -e "${folder}/gmic_stdlib_community.h" ]] || die "File not found: ${folder}/gmic_stdlib_community.h"
|
||||
local version=$(grep -E "File.*gmic_stdlib_community.h.*\(v." ${folder}/gmic_stdlib_community.h)
|
||||
version=${version#*v.}
|
||||
version=${version%)}
|
||||
version=${version//.}
|
||||
echo ${version}
|
||||
}
|
||||
|
||||
if [[ "$2" == gmic ]]; then
|
||||
gmic_version "$1"
|
||||
exit 0
|
||||
fi
|
||||
if [ "$2" = gmic ]; then
|
||||
grep "define gmic_version " $1/gmic.h | cut -d' ' -f3
|
||||
|
||||
if [[ "$2" == CImg ]]; then
|
||||
cimg_version "$1"
|
||||
exit 0
|
||||
fi
|
||||
if [ "$2" = CImg ]; then
|
||||
grep "define cimg_version " $1/CImg.h | cut -d' ' -f3
|
||||
|
||||
if [[ "$2" == stdlib ]]; then
|
||||
stdlib_version "$1"
|
||||
exit 0
|
||||
fi
|
||||
if [ "$2" = stdlib ]; then
|
||||
VERSION=$(grep "File.*gmic_stdlib_community.h.*(v." $1/gmic_stdlib_community.h)
|
||||
VERSION=${VERSION#*v.}
|
||||
VERSION=${VERSION%)}
|
||||
VERSION=${VERSION//.}
|
||||
echo "$VERSION"
|
||||
|
||||
echo "Checking G'MIC and CImg versions..."
|
||||
|
||||
GMIC_VERSION=$(gmic_version "$1")
|
||||
CIMG_VERSION=$(cimg_version "$1")
|
||||
STDLIB_VERSION=$(stdlib_version "$1")
|
||||
|
||||
echo "G'MIC version is .................... $GMIC_VERSION"
|
||||
echo "gmic_stdlib_community.h version is .. $STDLIB_VERSION"
|
||||
echo "CImg version is ..................... $CIMG_VERSION"
|
||||
|
||||
if [[ $GMIC_VERSION != $CIMG_VERSION ]]; then
|
||||
die "Version numbers of files 'gmic.h' (${GMIC_VERSION}) and 'CImg.h' (${CIMG_VERSION}) mismatch"
|
||||
fi
|
||||
|
||||
if [[ $GMIC_VERSION != $STDLIB_VERSION ]]; then
|
||||
die "Version numbers of files 'gmic.h' (${GMIC_VERSION}) and 'gmic_stdlib_community.h' (${STDLIB_VERSION}) mismatch"
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
|
88
gmic_qt.pro
88
gmic_qt.pro
|
@ -87,56 +87,47 @@ defined(GMIC_PATH, var) {
|
|||
defined(GMIC_PATH, var):!exists( $$GMIC_PATH/gmic.cpp ) {
|
||||
error("G'MIC repository was not found ("$$GMIC_PATH")")
|
||||
}
|
||||
!defined(GMIC_PATH, var) {
|
||||
error("GMIC_PATH variable not set, and no G'MIC source tree found")
|
||||
}
|
||||
|
||||
message("G'MIC repository was found ("$$GMIC_PATH")")
|
||||
|
||||
DEPENDPATH += $$GMIC_PATH
|
||||
|
||||
equals( COMPILER, "clang" ) {
|
||||
message("Compiler is clang++")
|
||||
QMAKE_CXX = clang++
|
||||
QMAKE_LINK = clang++
|
||||
}
|
||||
|
||||
#
|
||||
# Make sure CImg.h is in G'MIC source tree
|
||||
#
|
||||
!exists( $$GMIC_PATH/CImg.h ) {
|
||||
message( "CImg.h is missing. Trying to get it..." )
|
||||
!system(make -C $$GMIC_PATH CImg.h) {
|
||||
error("Could not get CImg.h from G'MIC repository")
|
||||
}
|
||||
!exists($$GMIC_PATH/CImg.h) {
|
||||
error("Could not get CImg.h from G'MIC repository")
|
||||
}
|
||||
message("CImg.h found")
|
||||
}
|
||||
gmic_files.commands = \$(MAKE) -C $$GMIC_PATH CImg.h
|
||||
gmic_files.commands += $$escape_expand(\n\t)\$(MAKE) -C $$GMIC_PATH gmic_stdlib_community.h
|
||||
gmic_files.commands += $$escape_expand(\n\t)bash ./check_versions.sh $$GMIC_PATH
|
||||
|
||||
#
|
||||
# Make sure gmic_stdlib_community.h is in G'MIC source tree
|
||||
#
|
||||
!exists( $$GMIC_PATH/gmic_stdlib_community.h ) {
|
||||
message( "gmic_stdlib_community.h is missing. Trying to get it..." )
|
||||
!system(make -C $$GMIC_PATH gmic_stdlib_community.h) {
|
||||
error("Could not get gmic_stdlib_community.h from G'MIC repository")
|
||||
}
|
||||
!exists($$GMIC_PATH/gmic_stdlib_community.h) {
|
||||
error("Could not get gmic_stdlib_community.h from G'MIC repository")
|
||||
}
|
||||
message("gmic_stdlib_community.h found")
|
||||
}
|
||||
QMAKE_DISTCLEAN = \
|
||||
translations/*.qm \
|
||||
translations/filters/*.ts \
|
||||
translations/filters/*.qm
|
||||
|
||||
# Make sure CImg, gmic and gmic_stdlib_community.h are the same version
|
||||
GMIC_VERSION = $$system(bash check_versions.sh $$GMIC_PATH gmic)
|
||||
STDLIB_VERSION = $$system(bash check_versions.sh $$GMIC_PATH stdlib)
|
||||
CIMG_VERSION = $$system(bash check_versions.sh $$GMIC_PATH CImg)
|
||||
message("G'MIC version is ................." $$GMIC_VERSION)
|
||||
message("gmic_stdlib_community.h version is" $$STDLIB_VERSION)
|
||||
message("CImg version is .................." $$CIMG_VERSION)
|
||||
!equals(GMIC_VERSION, $$CIMG_VERSION):{
|
||||
error("Version numbers of files 'gmic.h' (" $$GMIC_VERSION ") and 'CImg.h' (" $$CIMG_VERSION ") mismatch")
|
||||
}
|
||||
!equals(GMIC_VERSION, $$STDLIB_VERSION):{
|
||||
error("Version numbers of files 'gmic.h' (" $$GMIC_VERSION ") and 'gmic_stdlib_community.h' (" $$STDLIB_VERSION ") mismatch")
|
||||
}
|
||||
'$(SOURCES)'.depends += gmic_files
|
||||
'.PHONY'.depends += gmic_files
|
||||
|
||||
'translations/%.qm'.depends += 'translations/%.ts'
|
||||
'translations/%.qm'.commands += './translations/lrelease.sh $<'
|
||||
|
||||
'translations/filters/%.qm'.depends += 'translations/filters/%.ts'
|
||||
'translations/filters/%.qm'.commands += './translations/lrelease.sh $<'
|
||||
|
||||
'translations/filters/%.ts'.depends += 'translations/filters/gmic_qt_%.csv'
|
||||
'translations/filters/%.ts'.commands += './translations/filters/csv2ts.sh -o $@ $<'
|
||||
|
||||
QMAKE_EXTRA_TARGETS += '.PHONY' \
|
||||
'$(SOURCES)' \
|
||||
'gmic_files' \
|
||||
'translations/%.qm' \
|
||||
'translations/filters/%.qm' \
|
||||
'translations/filters/%.ts'
|
||||
|
||||
!isEmpty(PRERELEASE) {
|
||||
message( Prerelease date is $$PRERELEASE )
|
||||
|
@ -214,7 +205,6 @@ equals( HOST, "8bf") {
|
|||
CONFIG += openmp
|
||||
}
|
||||
|
||||
|
||||
# use qmake CONFIG+=openmp ... to force using openmp
|
||||
# For example, on OS X with GCC 4.8 installed:
|
||||
# qmake -spec unsupported/macx-clang QMAKE_CXX=g++-4.8 QMAKE_LINK=g++-4.8 CONFIG+=openmp
|
||||
|
@ -332,8 +322,6 @@ HEADERS += \
|
|||
|
||||
|
||||
HEADERS += $$GMIC_PATH/gmic.h
|
||||
HEADERS += $$GMIC_PATH/CImg.h
|
||||
HEADERS += $$GMIC_PATH/gmic_stdlib_community.h
|
||||
|
||||
SOURCES += \
|
||||
src/ClickableLabel.cpp \
|
||||
|
@ -456,25 +444,9 @@ translations/zh_tw.ts
|
|||
|
||||
RESOURCES += wip_translations.qrc
|
||||
|
||||
# message(Build QM translation files)
|
||||
# system(make -C translations)
|
||||
# system(make -C translations/filters)
|
||||
|
||||
qm_files.commands += make -C translations
|
||||
qm_filter_files.commands += make -C translations/filters
|
||||
QMAKE_EXTRA_TARGETS += qm_files qm_filter_files
|
||||
PRE_TARGETDEPS += qm_files qm_filter_files
|
||||
|
||||
QMAKE_DISTCLEAN = \
|
||||
translations/*.qm \
|
||||
translations/filters/*.ts \
|
||||
translations/filters/*.qm
|
||||
|
||||
# Prevent overwriting of these files by lupdate
|
||||
# TRANSLATIONS += translations/filters/fr.ts
|
||||
|
||||
# PRE_TARGETDEPS +=
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE += -Ofast # -O3 -s
|
||||
QMAKE_LFLAGS_RELEASE += -s
|
||||
QMAKE_CXXFLAGS_DEBUG += -Dcimg_verbosity=3
|
||||
|
|
Loading…
Reference in New Issue