From 93101b201e22f2a95d9b91d9db346e09345454b2 Mon Sep 17 00:00:00 2001 From: Brad Barber <bradb@shore.net> Date: Sat, 26 Mar 2011 17:02:17 -0400 Subject: [PATCH] Reorganizing the Qt project files. Will rename projects for shared library - Pull out gcc warnings into qhull-warn.pri - Pull out libqhull files into qhull-libsrc.pri - Document location of qh_QHpointer - Use CONFIG incremental instead of vc option - user_eg2 links with shared library (project will be added later after rename) --- src/qhull-libsrc.pri | 44 ++++++++++++++++++++++++++++++++++++ src/qhull-warn.pri | 53 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 src/qhull-libsrc.pri create mode 100644 src/qhull-warn.pri diff --git a/src/qhull-libsrc.pri b/src/qhull-libsrc.pri new file mode 100644 index 0000000..5ffcf0d --- /dev/null +++ b/src/qhull-libsrc.pri @@ -0,0 +1,44 @@ +# ------------------------------------------------- +# qhull-libsrc.pri -- Qt include project for libqhull sources and headers +# libqhull.pro, libqhullp.pro, and libqhulldll.pro are the same for SOURCES and HEADERS +# ------------------------------------------------- + +# Duplicated in libqhull/libqhull.pro for ease of use in QtCreator +# qset.c requires -fno-script-aliasing for gcc 4.1 to 4.3 +*g++ { + COMPVER = $$system(gcc -v) + contains(COMPVER,4.1)|contains(COMPVER,4.2)|contains(COMPVER,4.3) { + QMAKE_CFLAGS += -fno-strict-aliasing # Avoid core dumps in qset.c with -O2 + } +} +# Order object files by frequency of execution. Small files at end. +# Current directory is caller +SOURCES += ../libqhull/rboxlib.c +SOURCES += ../libqhull/user.c +SOURCES += ../libqhull/global.c +SOURCES += ../libqhull/stat.c +SOURCES += ../libqhull/io.c +SOURCES += ../libqhull/geom2.c +SOURCES += ../libqhull/poly2.c +SOURCES += ../libqhull/merge.c +SOURCES += ../libqhull/libqhull.c +SOURCES += ../libqhull/geom.c +SOURCES += ../libqhull/poly.c +SOURCES += ../libqhull/qset.c +SOURCES += ../libqhull/mem.c +SOURCES += ../libqhull/usermem.c +SOURCES += ../libqhull/userprintf.c +SOURCES += ../libqhull/random.c + +HEADERS += ../libqhull/geom.h +HEADERS += ../libqhull/io.h +HEADERS += ../libqhull/libqhull.h +HEADERS += ../libqhull/mem.h +HEADERS += ../libqhull/merge.h +HEADERS += ../libqhull/poly.h +HEADERS += ../libqhull/random.h +# The file, libqhull/qhull.h, is for backwards compatibility. +HEADERS += ../libqhull/qhull_a.h +HEADERS += ../libqhull/qset.h +HEADERS += ../libqhull/stat.h +HEADERS += ../libqhull/user.h diff --git a/src/qhull-warn.pri b/src/qhull-warn.pri new file mode 100644 index 0000000..7a47bf1 --- /dev/null +++ b/src/qhull-warn.pri @@ -0,0 +1,53 @@ +# ------------------------------------------------- +# qhull-warn.pri -- Qt project warnings for warn_on +# CONFIG += qhull_warn_all # Qhull compiles with all warnings except for qhull_warn_shadow and qhull_warn_conversion +# CONFIG += qhull_warn_conversion # Warn in Qt and Qhull about conversion errors +# CONFIG += qhull_warn_error # Turn warnings into errors +# CONFIG += qhull_warn_shadow # Warn in Qt about shadowing of functions and fields +# ------------------------------------------------- + +# Uncomment to report warnings as errors +#CONFIG += qhull_warn_error + +*g++{ + qhull_warn_error{ + QMAKE_CFLAGS_WARN_ON += -Werror + QMAKE_CXXFLAGS_WARN_ON += -Werror + } + + QMAKE_CFLAGS_WARN_ON += -Wcast-qual -Wextra -Wshadow -Wwrite-strings + + QMAKE_CXXFLAGS_WARN_ON += -Wcast-qual -Wextra -Wwrite-strings + QMAKE_CXXFLAGS_WARN_ON += -Wno-sign-conversion + + qhull_warn_shadow{ + QMAKE_CXXFLAGS_WARN_ON += -Wshadow # Shadowing occurs in Qt, e.g., nested foreach + } + + qhull_warn_conversion{ + QMAKE_CFLAGS_WARN_ON += -Wno-sign-conversion # libqhullstatic has many size_t vs. int warnings + QMAKE_CFLAGS_WARN_ON += -Wconversion # libqhullstatic has no workaround for bit-field conversions + QMAKE_CXXFLAGS_WARN_ON += -Wconversion # Qt has conversion errors for qbitarray and qpalette + } + + qhull_warn_all{ + QMAKE_CFLAGS_WARN_ON += -Waddress -Warray-bounds -Wchar-subscripts -Wclobbered -Wcomment -Wempty-body + QMAKE_CFLAGS_WARN_ON += -Wformat -Wignored-qualifiers -Wimplicit-function-declaration -Wimplicit-int + QMAKE_CFLAGS_WARN_ON += -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-parameter-type + QMAKE_CFLAGS_WARN_ON += -Wnonnull -Wold-style-declaration -Woverride-init -Wparentheses + QMAKE_CFLAGS_WARN_ON += -Wpointer-sign -Wreturn-type -Wsequence-point -Wsign-compare + QMAKE_CFLAGS_WARN_ON += -Wsign-compare -Wstrict-aliasing -Wstrict-overflow=1 -Wswitch + QMAKE_CFLAGS_WARN_ON += -Wtrigraphs -Wtype-limits -Wuninitialized -Wuninitialized + QMAKE_CFLAGS_WARN_ON += -Wunknown-pragmas -Wunused-function -Wunused-label -Wunused-parameter + QMAKE_CFLAGS_WARN_ON += -Wunused-value -Wunused-variable -Wvolatile-register-var + + QMAKE_CXXFLAGS_WARN_ON += -Waddress -Warray-bounds -Wc++0x-compat -Wchar-subscripts + QMAKE_CXXFLAGS_WARN_ON += -Wclobbered -Wcomment -Wempty-body -Wenum-compare + QMAKE_CXXFLAGS_WARN_ON += -Wformat -Wignored-qualifiers -Wmain -Wmissing-braces + QMAKE_CXXFLAGS_WARN_ON += -Wmissing-field-initializers -Wparentheses -Wreorder -Wreturn-type + QMAKE_CXXFLAGS_WARN_ON += -Wsequence-point -Wsign-compare -Wsign-compare -Wstrict-aliasing + QMAKE_CXXFLAGS_WARN_ON += -Wstrict-overflow=1 -Wswitch -Wtrigraphs -Wtype-limits + QMAKE_CXXFLAGS_WARN_ON += -Wuninitialized -Wunknown-pragmas -Wunused-function -Wunused-label + QMAKE_CXXFLAGS_WARN_ON += -Wunused-parameter -Wunused-value -Wunused-variable -Wvolatile-register-var + } +} -- GitLab