build: improve vtk6 support and remove qmake build system
Signed-off-by: Thorsten Liebig <Thorsten.Liebig@gmx.de>
This commit is contained in:
parent
445ac7ea39
commit
93c878b28f
@ -111,33 +111,22 @@ if (WIN32)
|
||||
find_package(VTK 6.1 REQUIRED)
|
||||
else()
|
||||
# prefer >=6.1, fallback to >=5.4
|
||||
find_package(VTK REQUIRED)
|
||||
find_package(VTK 6.1 COMPONENTS vtkIOXML vtkIOGeometry vtkIOLegacy vtkIOPLY NO_MODULE)
|
||||
IF (NOT ${VTK_FOUND})
|
||||
find_package(VTK REQUIRED)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(STATUS "Found package VTK. Using version " ${VTK_VERSION})
|
||||
if("${VTK_MAJOR_VERSION}" EQUAL 6)
|
||||
set( vtk_LIBS
|
||||
vtkCommonCore
|
||||
vtkCommonDataModel
|
||||
vtkIOLegacy
|
||||
vtkIOXML
|
||||
vtkIOGeometry
|
||||
vtkIOPLY
|
||||
vtksys
|
||||
vtkIOCore
|
||||
)
|
||||
set( vtk_LIBS ${VTK_LIBRARIES} )
|
||||
else()
|
||||
set( vtk_LIBS
|
||||
vtkCommon
|
||||
vtkFiltering
|
||||
vtkGraphics
|
||||
vtkHybrid
|
||||
vtkIO
|
||||
vtkRendering
|
||||
vtkWidgets
|
||||
QVTK
|
||||
)
|
||||
endif()
|
||||
message(STATUS "vtk libraries " ${vtk_LIBS})
|
||||
|
||||
include(${VTK_USE_FILE})
|
||||
INCLUDE_DIRECTORIES (${VTK_INCLUDE_DIR})
|
||||
|
392
openEMS.pro
392
openEMS.pro
@ -1,392 +0,0 @@
|
||||
# -------------------------------------------------
|
||||
# Project created by QtCreator 2010-02-26T22:34:51
|
||||
# -------------------------------------------------
|
||||
TARGET = openEMS
|
||||
CONFIG -= app_bundle qt
|
||||
CONFIG += rtti exceptions
|
||||
TEMPLATE = app
|
||||
OBJECTS_DIR = obj
|
||||
INCLUDEPATH += .
|
||||
CONFIG += debug_and_release
|
||||
|
||||
#
|
||||
# VERSION
|
||||
#
|
||||
VERSION=0.0.33
|
||||
|
||||
# add git revision
|
||||
GITREV = $$system(git describe --tags)
|
||||
isEmpty(GITREV):GITREV=$$VERSION
|
||||
DEFINES += GIT_VERSION=\\\"$$GITREV\\\"
|
||||
|
||||
# remove unnecessary webkit define
|
||||
DEFINES -= QT_WEBKIT
|
||||
|
||||
exists(localPaths.pri) {
|
||||
include(localPaths.pri)
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# CONFIG SECTION
|
||||
|
||||
# the SSE engine defaults to flush-to-zero mode, because of speed advantages
|
||||
# to restore the correct handling of denormals and to comply to IEEE 754 uncomment:
|
||||
# DEFINES += SSE_CORRECT_DENORMALS
|
||||
|
||||
# openEMS defaults to output length in unit meters; to recover the old behaviour
|
||||
# to output length in terms of the drawing unit, uncomment:
|
||||
# DEFINES += OUTPUT_IN_DRAWINGUNITS
|
||||
|
||||
# CONFIG SECTION
|
||||
###############################################################################
|
||||
|
||||
win32 {
|
||||
CONFIG += console
|
||||
isEmpty(WIN32_LIB_ROOT) {
|
||||
WIN32_LIB_ROOT = ..
|
||||
}
|
||||
isEmpty(CSXCAD_ROOT) {
|
||||
CSXCAD_ROOT = $$WIN32_LIB_ROOT/CSXCAD
|
||||
}
|
||||
# CSXCAD
|
||||
INCLUDEPATH += $$CSXCAD_ROOT/include/CSXCAD
|
||||
LIBS += -L$$CSXCAD_ROOT/lib -lCSXCAD0
|
||||
|
||||
# #3rd party libraries#
|
||||
# tinyxml
|
||||
INCLUDEPATH += $$WIN32_LIB_ROOT/tinyxml/include
|
||||
LIBS += -L$$WIN32_LIB_ROOT/tinyxml/bin -ltinyxml2
|
||||
DEFINES += TIXML_USE_STL
|
||||
# fparser
|
||||
INCLUDEPATH += $$WIN32_LIB_ROOT/fparser/include
|
||||
LIBS += -L$$WIN32_LIB_ROOT/fparser/bin -lfparser4
|
||||
# hdf5
|
||||
INCLUDEPATH += $$WIN32_LIB_ROOT/hdf5/include $$WIN32_LIB_ROOT/hdf5/include/cpp
|
||||
LIBS += -L$$WIN32_LIB_ROOT/hdf5/lib -lhdf5
|
||||
# zlib
|
||||
LIBS += -L$$WIN32_LIB_ROOT/zlib/lib -lz
|
||||
# boost
|
||||
DEFINES += BOOST_THREAD_USE_LIB
|
||||
INCLUDEPATH += $$WIN32_LIB_ROOT/boost/include
|
||||
LIBS += -L$$WIN32_LIB_ROOT/boost/lib -lboost_thread -lboost_chrono -lboost_system
|
||||
# vtk
|
||||
INCLUDEPATH += $$WIN32_LIB_ROOT/vtk/include/vtk-5.10
|
||||
LIBS += -L$$WIN32_LIB_ROOT/vtk/bin -lvtkCommon -lvtkIO -lvtkFiltering
|
||||
}
|
||||
unix:!macx {
|
||||
# CSXCAD
|
||||
isEmpty(CSXCAD_ROOT) {
|
||||
CSXCAD_ROOT = /usr
|
||||
} else {
|
||||
QMAKE_LFLAGS += \'-Wl,-rpath,$$CSXCAD_ROOT/lib\'
|
||||
}
|
||||
INCLUDEPATH += $$CSXCAD_ROOT/include/CSXCAD
|
||||
LIBS += -L$$CSXCAD_ROOT/lib -lCSXCAD
|
||||
|
||||
# #3rd party libraries#
|
||||
#fparser
|
||||
isEmpty(FPARSER_ROOT) {
|
||||
FPARSER_ROOT = /usr
|
||||
} else {
|
||||
INCLUDEPATH += $$FPARSER_ROOT/include
|
||||
LIBS += -L$$FPARSER_ROOT/lib
|
||||
QMAKE_LFLAGS += \'-Wl,-rpath,$$FPARSER_ROOT/lib\'
|
||||
}
|
||||
LIBS += -lfparser
|
||||
|
||||
# tinyxml
|
||||
LIBS += -ltinyxml
|
||||
DEFINES += TIXML_USE_STL
|
||||
|
||||
#hdf5
|
||||
!isEmpty(HDF5_ROOT) {LIBS += -L$$HDF5_ROOT}
|
||||
INCLUDEPATH += /usr/include/hdf5/serial
|
||||
LIBS += -lboost_thread -lboost_system
|
||||
LIBS += -lhdf5_hl -lhdf5
|
||||
|
||||
### vtk ###
|
||||
isEmpty(VTK_INCLUDEPATH) {
|
||||
INCLUDEPATH += /usr/include/vtk-5.2 \
|
||||
/usr/include/vtk-5.4 \
|
||||
/usr/include/vtk-5.6 \
|
||||
/usr/include/vtk-5.8 \
|
||||
/usr/include/vtk-5.10 \
|
||||
/usr/include/vtk-6.0 \
|
||||
/usr/include/vtk-6.1 \
|
||||
/usr/include/vtk
|
||||
} else {
|
||||
INCLUDEPATH += $$VTK_INCLUDEPATH
|
||||
}
|
||||
isEmpty(VTK_LIBRARYPATH){
|
||||
} else {
|
||||
LIBS +=-L$$VTK_LIBRARYPATH
|
||||
QMAKE_LFLAGS += \'-Wl,-rpath,$$VTK_LIBRARYPATH\'
|
||||
}
|
||||
!contains(VTK_6, 1) {
|
||||
LIBS += -lvtkCommon \
|
||||
-lvtkIO \
|
||||
-lvtksys \
|
||||
-lvtkFiltering
|
||||
} else {
|
||||
LIBS += -lvtkCommonCore$$VTK_6_LIBSUFFIX \
|
||||
-lvtkCommonDataModel$$VTK_6_LIBSUFFIX \
|
||||
-lvtkIOLegacy$$VTK_6_LIBSUFFIX \
|
||||
-lvtkIOXML$$VTK_6_LIBSUFFIX \
|
||||
-lvtkIOGeometry$$VTK_6_LIBSUFFIX \
|
||||
-lvtkIOPLY$$VTK_6_LIBSUFFIX \
|
||||
-lvtksys$$VTK_6_LIBSUFFIX \
|
||||
-lvtkIOCore$$VTK_6_LIBSUFFIX
|
||||
}
|
||||
}
|
||||
|
||||
macx: {
|
||||
# CSXCAD
|
||||
isEmpty(CSXCAD_ROOT) {
|
||||
CSXCAD_ROOT = /usr
|
||||
} else {
|
||||
QMAKE_LFLAGS += \'-Wl,-rpath,$$CSXCAD_ROOT/lib\'
|
||||
}
|
||||
INCLUDEPATH += $$CSXCAD_ROOT/include/CSXCAD
|
||||
LIBS += -L$$CSXCAD_ROOT/lib -lCSXCAD
|
||||
|
||||
# #3rd party libraries#
|
||||
#fparser
|
||||
isEmpty(FPARSER_ROOT) {
|
||||
FPARSER_ROOT = /usr
|
||||
} else {
|
||||
INCLUDEPATH += $$FPARSER_ROOT/include
|
||||
LIBS += -L$$FPARSER_ROOT/lib
|
||||
QMAKE_LFLAGS += \'-Wl,-rpath,$$FPARSER_ROOT/lib\'
|
||||
}
|
||||
LIBS += -lfparser
|
||||
|
||||
LIBS += -ltinyxml
|
||||
DEFINES += TIXML_USE_STL
|
||||
LIBS += -L/usr/local/lib -lboost_thread-mt -lboost_system -lboost_date_time -lboost_serialization
|
||||
LIBS += -lhdf5_hl -lhdf5
|
||||
|
||||
### vtk ###
|
||||
isEmpty(VTK_INCLUDEPATH) {
|
||||
INCLUDEPATH += \
|
||||
/usr/local/opt/vtk5/include \
|
||||
/usr/local/opt/vtk5/include/vtk-5.10
|
||||
} else {
|
||||
INCLUDEPATH += $$VTK_INCLUDEPATH
|
||||
}
|
||||
|
||||
LIBS += -L/usr/local/opt/vtk5/lib/vtk-5.10 -lvtkCommon \
|
||||
-lvtkFiltering \
|
||||
-lvtkGraphics \
|
||||
-lvtkHybrid \
|
||||
-lvtkIO \
|
||||
-lvtkRendering \
|
||||
-lvtkWidgets \
|
||||
-lQVTK
|
||||
|
||||
isEmpty(VTK_LIBRARYPATH){
|
||||
} else {
|
||||
LIBS +=-L$$VTK_LIBRARYPATH
|
||||
QMAKE_LFLAGS += \'-Wl,-rpath,$$VTK_LIBRARYPATH\'
|
||||
}
|
||||
}
|
||||
|
||||
# vtk includes deprecated header files; silence the corresponding warning
|
||||
QMAKE_CXXFLAGS += -Wno-deprecated
|
||||
|
||||
# hdf5 compat
|
||||
DEFINES += H5_USE_16_API
|
||||
|
||||
|
||||
#### SOURCES ################################################################
|
||||
SOURCES += main.cpp \
|
||||
openems.cpp
|
||||
|
||||
# FDTD
|
||||
SOURCES += FDTD/engine.cpp \
|
||||
FDTD/operator.cpp \
|
||||
FDTD/engine_multithread.cpp \
|
||||
FDTD/operator_cylinder.cpp \
|
||||
FDTD/engine_cylinder.cpp \
|
||||
FDTD/engine_sse.cpp \
|
||||
FDTD/operator_sse.cpp \
|
||||
FDTD/operator_sse_compressed.cpp \
|
||||
FDTD/engine_sse_compressed.cpp \
|
||||
FDTD/operator_multithread.cpp \
|
||||
FDTD/excitation.cpp \
|
||||
FDTD/operator_cylindermultigrid.cpp \
|
||||
FDTD/engine_cylindermultigrid.cpp \
|
||||
FDTD/engine_interface_fdtd.cpp \
|
||||
FDTD/engine_interface_sse_fdtd.cpp \
|
||||
FDTD/engine_interface_cylindrical_fdtd.cpp
|
||||
|
||||
# FDTD/extensions source files
|
||||
SOURCES += FDTD/extensions/engine_extension.cpp \
|
||||
FDTD/extensions/operator_ext_dispersive.cpp \
|
||||
FDTD/extensions/operator_ext_lorentzmaterial.cpp \
|
||||
FDTD/extensions/operator_ext_conductingsheet.cpp \
|
||||
FDTD/extensions/engine_ext_dispersive.cpp \
|
||||
FDTD/extensions/engine_ext_lorentzmaterial.cpp \
|
||||
FDTD/extensions/engine_ext_cylindermultigrid.cpp \
|
||||
FDTD/extensions/operator_ext_upml.cpp \
|
||||
FDTD/extensions/engine_ext_upml.cpp \
|
||||
FDTD/extensions/operator_extension.cpp \
|
||||
FDTD/extensions/engine_ext_mur_abc.cpp \
|
||||
FDTD/extensions/operator_ext_mur_abc.cpp \
|
||||
FDTD/extensions/operator_ext_cylinder.cpp \
|
||||
FDTD/extensions/engine_ext_cylinder.cpp \
|
||||
FDTD/extensions/operator_ext_excitation.cpp \
|
||||
FDTD/extensions/engine_ext_excitation.cpp \
|
||||
FDTD/extensions/operator_ext_tfsf.cpp \
|
||||
FDTD/extensions/engine_ext_tfsf.cpp \
|
||||
FDTD/extensions/operator_ext_steadystate.cpp \
|
||||
FDTD/extensions/engine_ext_steadystate.cpp
|
||||
|
||||
# Common source files
|
||||
SOURCES += Common/operator_base.cpp \
|
||||
Common/engine_interface_base.cpp \
|
||||
Common/processmodematch.cpp \
|
||||
Common/processvoltage.cpp \
|
||||
Common/processing.cpp \
|
||||
Common/processintegral.cpp \
|
||||
Common/processfields.cpp \
|
||||
Common/processfields_td.cpp \
|
||||
Common/processcurrent.cpp \
|
||||
Common/processfields_fd.cpp \
|
||||
Common/processfieldprobe.cpp \
|
||||
Common/processfields_sar.cpp
|
||||
|
||||
# tools
|
||||
SOURCES += tools/global.cpp \
|
||||
tools/useful.cpp \
|
||||
tools/array_ops.cpp \
|
||||
tools/ErrorMsg.cpp \
|
||||
tools/AdrOp.cpp \
|
||||
tools/sar_calculation.cpp \
|
||||
tools/vtk_file_writer.cpp \
|
||||
tools/hdf5_file_writer.cpp
|
||||
|
||||
#### HEADERS ################################################################
|
||||
HEADERS += openems.h
|
||||
|
||||
# FDTD
|
||||
HEADERS += FDTD/engine.h \
|
||||
FDTD/operator.h \
|
||||
FDTD/engine_multithread.h \
|
||||
FDTD/operator_cylinder.h \
|
||||
FDTD/engine_cylinder.h \
|
||||
FDTD/engine_sse.h \
|
||||
FDTD/operator_sse.h \
|
||||
FDTD/excitation.h \
|
||||
FDTD/operator_sse_compressed.h \
|
||||
FDTD/engine_sse_compressed.h \
|
||||
FDTD/operator_multithread.h \
|
||||
FDTD/operator_cylindermultigrid.h \
|
||||
FDTD/engine_cylindermultigrid.h \
|
||||
FDTD/engine_interface_fdtd.h \
|
||||
FDTD/engine_interface_sse_fdtd.h \
|
||||
FDTD/engine_interface_cylindrical_fdtd.h
|
||||
|
||||
# FDTD/extensions header files
|
||||
HEADERS += FDTD/extensions/operator_extension.h \
|
||||
FDTD/extensions/engine_extension.h \
|
||||
FDTD/extensions/engine_ext_mur_abc.h \
|
||||
FDTD/extensions/operator_ext_mur_abc.h \
|
||||
FDTD/extensions/operator_ext_cylinder.h \
|
||||
FDTD/extensions/engine_ext_cylinder.h \
|
||||
FDTD/extensions/operator_ext_dispersive.h \
|
||||
FDTD/extensions/operator_ext_lorentzmaterial.h \
|
||||
FDTD/extensions/operator_ext_conductingsheet.h \
|
||||
FDTD/extensions/cond_sheet_parameter.h \
|
||||
FDTD/extensions/engine_ext_dispersive.h \
|
||||
FDTD/extensions/engine_ext_lorentzmaterial.h \
|
||||
FDTD/extensions/engine_ext_cylindermultigrid.h \
|
||||
FDTD/extensions/operator_ext_upml.h \
|
||||
FDTD/extensions/engine_ext_upml.h \
|
||||
FDTD/extensions/operator_ext_excitation.h \
|
||||
FDTD/extensions/engine_ext_excitation.h \
|
||||
FDTD/extensions/operator_ext_tfsf.h \
|
||||
FDTD/extensions/engine_ext_tfsf.h \
|
||||
FDTD/extensions/operator_ext_steadystate.h \
|
||||
FDTD/extensions/engine_ext_steadystate.h
|
||||
|
||||
# Common header files
|
||||
HEADERS += Common/operator_base.h \
|
||||
Common/engine_interface_base.h \
|
||||
Common/processvoltage.h \
|
||||
Common/processing.h \
|
||||
Common/processintegral.h \
|
||||
Common/processfields.h \
|
||||
Common/processfields_td.h \
|
||||
Common/processcurrent.h \
|
||||
Common/processmodematch.h \
|
||||
Common/processfields_fd.h \
|
||||
Common/processfieldprobe.h \
|
||||
Common/processfields_sar.h
|
||||
|
||||
# tools
|
||||
HEADERS += tools/ErrorMsg.h \
|
||||
tools/AdrOp.h \
|
||||
tools/constants.h \
|
||||
tools/array_ops.h \
|
||||
tools/global.h \
|
||||
tools/useful.h \
|
||||
tools/aligned_allocator.h \
|
||||
tools/sar_calculation.h \
|
||||
tools/vtk_file_writer.h \
|
||||
tools/hdf5_file_writer.h
|
||||
|
||||
!packaging {
|
||||
# if packaging is not set in CONFIG, set some default flags
|
||||
# if packaging is enabled, give the flags on the qmake comandline
|
||||
QMAKE_CXXFLAGS_RELEASE = -O3 -g -march=native
|
||||
QMAKE_CXXFLAGS_DEBUG = -O0 -g -march=native
|
||||
}
|
||||
|
||||
MPI_SUPPORT {
|
||||
DEFINES += MPI_SUPPORT
|
||||
QMAKE_CC = mpicc
|
||||
QMAKE_CXX = mpicxx
|
||||
QMAKE_LINK = mpicxx
|
||||
QMAKE_LINK_C = mpicc
|
||||
HEADERS += FDTD/operator_mpi.h \
|
||||
FDTD/engine_mpi.h \
|
||||
FDTD/openems_fdtd_mpi.h
|
||||
SOURCES += FDTD/operator_mpi.cpp \
|
||||
FDTD/engine_mpi.cpp \
|
||||
FDTD/openems_fdtd_mpi.cpp
|
||||
|
||||
QMAKE_CXXFLAGS_RELEASE += -Wno-unused-parameter #needed because mpich2 produces tons of unused parameter
|
||||
}
|
||||
|
||||
|
||||
|
||||
#
|
||||
# create tar file (for the whole openEMS project)
|
||||
#
|
||||
tarball.target = tarball
|
||||
tarball.commands = git archive --format=tar --prefix=openEMS-$$VERSION/ HEAD | bzip2 > openEMS-$${VERSION}.tar.bz2
|
||||
QMAKE_EXTRA_TARGETS += tarball
|
||||
|
||||
|
||||
#
|
||||
# INSTALL (only the openEMS executable and matlab scripts)
|
||||
#
|
||||
isEmpty(PREFIX) {
|
||||
PREFIX = /usr/local
|
||||
}
|
||||
install.target = install
|
||||
install.commands = mkdir -p \"$$PREFIX/bin\"
|
||||
install.commands += && mkdir -p \"$$PREFIX/share/openEMS/matlab\"
|
||||
unix:!macx:install.commands += && cp -at \"$$PREFIX/bin/\" openEMS.sh openEMS_MPI.sh openEMS
|
||||
win32:install.commands += && cp -at \"$$PREFIX/bin/\" release/openEMS.exe
|
||||
macx:install.commands += && cp openEMS.sh openEMS_MPI.sh openEMS \"$$PREFIX/bin/\"
|
||||
install.commands += && cp -r matlab/* \"$$PREFIX/share/openEMS/matlab\"
|
||||
QMAKE_EXTRA_TARGETS += install
|
||||
|
||||
|
||||
#
|
||||
# create .PHONY target
|
||||
#
|
||||
phony.target = .PHONY
|
||||
phony.depends = $$QMAKE_EXTRA_TARGETS
|
||||
QMAKE_EXTRA_TARGETS += phony
|
Loading…
Reference in New Issue
Block a user