Commit 2289247b authored by Lukas Aspöck's avatar Lukas Aspöck
Browse files

Revert "Merge branch 'master' of https://git.rwth-aachen.de/ita/ITABase"

This reverts commit 73f2ccf4
parent 73f2ccf4
......@@ -65,38 +65,134 @@ endif( )
# includes
include_directories( "include" )
# sources
include( "include/_SourceFiles.cmake" )
include( "src/_SourceFiles.cmake" )
# files
set( ITABaseHeader
"include/ITAAudioSample.h"
"include/ITABaseDefinitions.h"
"include/ITABlockMath.h"
"include/ITABufferedAudioFileWriter.h"
"include/ITAClock.h"
"include/ITAConstants.h"
"include/ITACriticalSection.h"
"include/ITADataLog.h"
"include/ITADebug.h"
"include/ITAEndianness.h"
"include/ITAException.h"
"include/ITAFade.h"
"include/ITAFastMath.h"
"include/ITAFileSystemUtils.h"
"include/ITAFiniteImpulseResponse.h"
"include/ITAFunctors.h"
"include/ITAHDFTSpectra.h"
"include/ITAHDFTSpectrum.h"
"include/ITAInterpolation.h"
"include/ITAISO9613.h"
"include/ITALog.h"
"include/ITAMagnitudeSpectrum.h"
"include/ITAMultichannelFiniteImpulseResponse.h"
"include/ITANumericUtils.h"
"include/ITASampleBuffer.h"
"include/ITASampleFrame.h"
"include/ITASampleTypeConversion.h"
"include/ITASimpleConvolution.h"
"include/ITASpectrum.h"
"include/ITAStopWatch.h"
"include/ITAStringUtils.h"
"include/ITAThirdOctaveMagnitudeSpectrum.h"
"include/ITATimeSeriesAnalyzer.h"
"include/ITATypes.h"
"include/ITAUncopyable.h"
"include/ITAWholeOctaveMagnitudeSpectrum.h"
"include/ITAWinPCClock.h"
)
set( ITABaseSources
"src/ITABlockMath.cpp"
"src/ITABufferedAudioFileWriter.cpp"
"src/ITAClock.cpp"
"src/ITACriticalSection.cpp"
"src/ITACriticalSectionImpl.h"
"src/ITACriticalSectionPosixImpl.h"
"src/ITACriticalSectionWin32Impl.h"
"src/ITADebug.cpp"
"src/ITAEndianness.cpp"
"src/ITAException.cpp"
"src/ITAFade.cpp"
"src/ITAFileSystemUtils.cpp"
"src/ITAFiniteImpulseResponse.cpp"
"src/ITAHDFTSpectra.cpp"
"src/ITAHDFTSpectrum.cpp"
"src/ITAInterpolation.cpp"
"src/ITAISO9613.cpp"
"src/ITALog.cpp"
"src/ITAMagnitudeSpectrum.cpp"
"src/ITAMultichannelFiniteImpulseResponse.cpp"
"src/ITANumericUtils.cpp"
"src/ITASampleBuffer.cpp"
"src/ITASampleFrame.cpp"
"src/ITASampleTypeConversion.cpp"
"src/ITASimpleConvolution.cpp"
"src/ITASpectrum.cpp"
"src/ITAStopWatch.cpp"
"src/ITATypes.cpp"
"src/ITAWinPCClock.cpp"
)
if( ITA_BASE_WITH_JSON_SUPPORT )
vista_use_package( libjson REQUIRED )
add_definitions( -DWITH_JSON_SUPPORT )
list( APPEND ITABaseHeader "include/ITABase/UtilsJSON.h" )
list( APPEND ITABaseSources "src/ITABase/UtilsJSON.cpp" )
endif( )
# Win32 implementations
if( WIN32 ) # see _SourceFiles.cmake in subfolders
if( WIN32 )
list( APPEND ITABaseHeader "include/ITAHPT.h" "include/ITAMutex.h" "include/ITATimer.h" )
list( APPEND ITABaseSources "src/ITAHPT.cpp" "src/ITAMutex.cpp" "src/ITATimer.cpp" )
else( )
add_definitions( -DUSE_SIMPLEINI )
list( APPEND ITABaseSources "src/ITAPosixRealtimeClock.cpp" "src/simpleini/SimpleIni.h" "src/simpleini/ConvertUTF.h" "src/simpleini/ConvertUTF.c" )
list( APPEND ITABaseSources "src/ITAConfigUtilsSimpleIniImpl.cpp" )
endif( )
if( VSNDFILE_FOUND AND ITA_BASE_WITH_SNDFILE ) #see _SourceFiles.cmake in subfolders
add_definitions( -DITABASE_WITH_SNDFILE )
if( VSNDFILE_FOUND AND ITA_BASE_WITH_SNDFILE )
set( ITABaseHeader "${ITABaseHeader}"
"include/ITAAudiofileCommon.h"
"include/ITAAudiofileReader.h"
"include/ITAAudiofileWriter.h"
)
set( ITABaseSources "${ITABaseSources}"
"src/ITAAudiofileCommon.cpp"
"src/ITAAudiofileReader.cpp"
"src/ITAAudiofileWriter.cpp"
"src/libsndfileAudiofileReader.cpp"
"src/libsndfileAudiofileWriter.cpp"
)
add_definitions( -DITABASE_WITH_SNDFILE )
endif( )
if( VSAMPLERATE_FOUND AND ITA_BASE_WITH_SAMPLERATE )
# see _SourceFiles.cmake in subfolders
set( ITABaseHeader "${ITABaseHeader}" "include/ITAAudioSample.h" )
set( ITABaseSources "${ITABaseSources}" "src/ITAAudioSample.cpp" )
endif( )
if( VIPP_FOUND AND ITA_BASE_WITH_FASTMATH_IPP )
# see _SourceFiles.cmake in subfolders
set( ITABaseSources "${ITABaseSources}" "src/ITAFastMathImplIPP.cpp" )
elseif( ITA_BASE_WITH_FASTMATH_ASSEMBLER )
# not recommended; see _SourceFiles.cmake in subfolders
set( ITABaseSources "${ITABaseSources}" "src/ITAFastMathImplAssembler.cpp" ) # not recommended
else( )
set( ITABaseSources "${ITABaseSources}" "src/ITAFastMathImpl.cpp" )
endif( )
if( ITA_BASE_WITH_OLD_ATOMICS ) # see _SourceFiles.cmake in subfolders
if( ITA_BASE_WITH_OLD_ATOMICS )
set( ITABaseHeader "${ITABaseHeader}" "include/ITAAtomicOps.h" "include/ITAAtomicPrimitives.h" )
if( WIN32 )
set( ITABaseSources "${ITABaseSources}" "src/ITAAtomicOpsWin32Impl.cpp" )
else( )
set( ITABaseSources "${ITABaseSources}" "src/ITAAtomicOpsGCCBuiltinsImpl.cpp" )
endif( )
endif( )
if( ITA_BASE_WITH_OLD_RAVEN_OPS )
......@@ -106,18 +202,24 @@ if( ITA_BASE_WITH_OLD_RAVEN_OPS )
if( NOT VSPLINE_FOUND )
message( FATAL_ERROR "ITABase old RAVEN ops requires SPLINE, which was not found. Please provide." )
endif( )
# see _SourceFiles.cmake in subfolders
set( ITABaseHeader "${ITABaseHeader}" "include/ITAOps.h" )
set( ITABaseSources "${ITABaseSources}" "src/ITAOps.cpp" )
endif( )
if( VPCRE_FOUND AND ITA_BASE_WITH_REGULAR_EXPRESSIONS ) # see _SourceFiles.cmake in subfolders
if( VPCRE_FOUND AND ITA_BASE_WITH_REGULAR_EXPRESSIONS )
add_definitions( -DPCRE_STATIC )
list( APPEND ITABaseHeaders "include/ITAASCIITable.h" )
list( APPEND ITABaseSources "src/ITAStringUtilsPCRE.cpp" "src/ITAASCIITable.cpp" )
else( )
list( APPEND ITABaseSources "src/ITAStringUtils.cpp" )
endif( )
if( ITA_BASE_WITH_CONFIG_OLD_IMPL AND NOT ITA_BASE_WITH_CONFIG_SIMPLE_INI )
if( NOT ITA_BASE_WITH_REGULAR_EXPRESSIONS )
message( FATAL_ERROR "ITABase old config implementation requires regular expressions. Please activate." )
endif( )
# see _SourceFiles.cmake in subfolders
list( APPEND ITABaseHeader "include/ITAConfigUtils.h" )
list( APPEND ITABaseSources "src/ITAConfigUtils.cpp" "src/ITAConfigUtilsWin32Impl.cpp" )
endif( )
......@@ -141,7 +243,7 @@ endif( )
# linker
add_library( ITABase ${ProjectSources} )
add_library( ITABase ${ITABaseHeader} ${ITABaseSources} )
target_link_libraries( ITABase ${VISTA_USE_PACKAGE_LIBRARIES} )
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2018
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
/*
* ----------------------------------------------------------------
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef IW_ITA_BASE_PROGRESS
#define IW_ITA_BASE_PROGRESS
#include <ITABaseDefinitions.h>
#include <string>
namespace ITABase
{
//! A progress handler can be added to functions that are potentially time consuming to keep track of progress and to abort calculation
/**
* Further improvements may introduce a granularity to keep down push message. Partly abstract only, still considered an interface as this is the main purpose.
*/
class ITA_BASE_API IProgressHandler
{
public:
IProgressHandler( std::string sName = "unnamed" );
~IProgressHandler();
void SetName( const std::string& sName );
std::string GetName() const;
void SetSection( const std::string& sSection );
std::string GetSection() const;
void SetItem( const std::string& sItem );
std::string GetItem() const;
virtual inline void PushProgressUpdate( std::string sSection, std::string sItem, float fProgressPercentage ) const;
virtual inline void PushProgressUpdate( std::string sItem, float fProgressPercentage ) const;
//!< Please implement push message, will be called by function
/**
*/
virtual void PushProgressUpdate( float fProgressPercentage ) const = 0;
private:
mutable std::string m_sItem; //!< Currently processed looping function or similar
mutable std::string m_sSection; //!< Execution section, i.e. caller function
std::string m_sName; //!< Progress handler name, i.e. caller function or class or app
};
}
#endif // IW_ITA_BASE_PROGRESS
/*
* ----------------------------------------------------------------
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef IW_ITA_BASE_LINEAR_ALGEBRA
#define IW_ITA_BASE_LINEAR_ALGEBRA
#include <ITABaseDefinitions.h>
#include <vector>
namespace ITABase
{
namespace Math
{
//! Solves a Tridiagonal n x n Bandmatrix Problem with Thomas algorithm. Expects the 3 diagonals (lower,middle and upper) and the excitation vector.
/**
* Problems following the structure: e = M * x will be solved with this function.
* with M is a Matrix with only the 3 main diagonals nonequal zero, e the known excitation vector and x the vector of unknown variables.
* Since the matrix dimension is n x n the excitatio, the middle and the returned vector are n elements big. Therefore the lower and the upper diagonale needs to have a length of n-1.
*/
ITA_BASE_API std::vector<double> BandmatrixSolver(const std::vector<double>& vdLower, const std::vector<double>& vdMiddle, const std::vector<double>& vdUpper, const std::vector<double>& vdExcitation);
}
}
#endif // IW_ITA_BASE_LINEAR_ALGEBRA
/*
* ----------------------------------------------------------------
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef IW_ITA_BASE_PIECEWISEPOLYNOMIAL
#define IW_ITA_BASE_PIECEWISEPOLYNOMIAL
#include <ITABaseDefinitions.h>
#include <vector>
namespace ITABase
{
namespace Math
{
//! This class represents a piecewise polynomial of order M
/**
* A piecewise polynomial persists of a series of N break points which from N-1 intervals. For each interval, there is a polynom of order M represented by M+1 coefficients.
* See "Piecewise Polynomials and Splines" by University of Lundt for more information:
* https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&cad=rja&uact=8&ved=2ahUKEwjcofWO_IrqAhUux4sKHT52AigQFjABegQIBRAB&url=http%3A%2F%2Fwww.maths.lth.se%2Fna%2Fcourses%2FFMN050%2Fmedia%2Fmaterial%2Fpart8.pdf&usg=AOvVaw068JsSpsLz4z2yUAK9Vkd0
*
* This class is inspired by the piecewise polynomials of MATLAB:
* The coefficients are arranged in groups for each interval (piece) starting the coefficient of highest order. Example:
* Coefficients [a0, b0, c0, d0, a1, b1, c1, d1] belong to interval 0 [x0, x1] and interval 1 [x1, x2] respectively.
* The coefficients for interval 1 represent the following polynomial of order 3:
* f(x) = a1(x−x1)^3 + b1(x−x1)^2 + c1(x−x1) + d1
*
* All data is internally computed as values of type double. Nevertheless there are overloaded functions for input of type float. These are converted internally.
*/
class ITA_BASE_API CPiecewisePolynomial
{
public:
//! Main constructor using double vectors of break points and coefficients for the intervals between breakpoints to define a piecewise polynomial
CPiecewisePolynomial(const std::vector<double>& vdBreakPoints, const std::vector<double>& vdCoeffs, const int iOrder);
//! Constructor using float vectors, which are internally converted to double vectors
CPiecewisePolynomial(const std::vector<float>& vdBreakPoints, const std::vector<float>& vdCoeffs, const int iOrder);
//! Returns the polynomial order
inline int Order() const { return iOrder; };
//! Returns the number of intervals (pieces) between break points
inline int NumIntervals() const { return int( vdBreakPoints.size() - 1 ); };
//! Returns the number of coefficients for a single polynomial
inline int NumCoefficients() const { return Order() + 1; };
//! Returns the break points defining the intervals for the polynomials
inline const std::vector<double>& BreakPoints() const { return vdBreakPoints; };
//! Returns the Coefficients of that Polynom. Sorted according to ascending intervals [a0, b0, c0, d0, a1, b1, c1, d1]
inline const std::vector<double>& Coefficients() const { return vdCoefficients; };
//! Evaluates the piecewise polynomial at a given x value. If desired, xValues from outsite the breakpoints can be extrapolated linearly.
double Evaluate(const double& xValue, bool bExtrapolate = false) const;
//! Evaluates the piecewise polynomial at all given x values. If desired, xValues from outsite the breakpoints can be extrapolated linearly.
std::vector<double> Evaluate(const std::vector<double>& vdXValues, bool bExtrapolate = false) const;
//! Evaluates the piecewise polynomial at all given x values. If desired, xValues from outsite the breakpoints can be extrapolated linearly.
std::vector<double> Evaluate(const std::vector<float>& vfXValues, bool bExtrapolate = false) const;
//! Finds the index of Interval at a given x value. If extrapolation is desired, it will return -1 for xValue outsite the breakpoints
int IntervalIndex(const double xValue, bool bExtrapolate = false) const;
//! Finds the index of Interval at a given x value. If extrapolation is desired, it will return -1 for xValue outsite the breakpoints
int IntervalIndex(const float xValue, bool bExtrapolate = false) const;
//! Return a piecewise polynomial containing the derivations of the polynomials of this one
CPiecewisePolynomial Derivation() const;
private:
//! Returns the iterator to the first coefficient of the interval with given index
/**
* The iterator ending this set of coefficients is then:
* std::vector<float>::const_iterator itEnd = itStart + NumCoefficients();
*/
std::vector<double>::const_iterator CoefficientsOfInterval(const int idxInterval) const;
private:
//! Order of polynomials
int iOrder;
//! Vector with break points. Defines the interval for each polynomial.
std::vector<double> vdBreakPoints;
//! Vector with all coefficients. Represents a 2D matrix: First dimension = number of intervals (pieces), second dimension = number of coefficients (order+1).
/**
* The Coefficients are arranged in groups for each interval (piece) starting the coefficient of highest order. Example:
* coefficients [a1, b1, c1, d1, a2, b2, c2, d2] belong to interval 1 [x1, x2] and interval2 [x2, x3] respectively.
* The coefficients for interval 1 represent the following polynomial:
* f(x) = a1(x−x1)^3 + b1(x−x1)^2 + c1(x−x1) + d1
*/
std::vector<double> vdCoefficients;
};
}
}
#endif // IW_ITA_BASE_PIECEWISEPOLYNOMIAL
/*
* ----------------------------------------------------------------
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
*
* ----------------------------------------------------------------
* ____ __________ _______
* // / //__ ___/ // _ |
* // / // / // /_| |
* // / // / // ___ |
* //__/ //__/ //__/ |__|
*
* ----------------------------------------------------------------
*
*/
#ifndef IW_ITA_BASE_SPLINE
#define IW_ITA_BASE_SPLINE
#include <ITABaseDefinitions.h>
#include <ITABase/Math/PiecewisePolynomial.h>
#include <vector>
namespace ITABase
{
namespace Math
{
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order.
ITA_BASE_API CPiecewisePolynomial CubicSpline(const std::vector<double>& vdSupportingPoints, const std::vector<double>& vdDataPoints);
//All other permutations of data types
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order. BEWARE of the internal conversion to from float double!
ITA_BASE_API CPiecewisePolynomial CubicSpline(const std::vector<float>& vfSupportingPoints, const std::vector<float>& vfDataPoints);
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order. BEWARE of the internal conversion to from float double!
ITA_BASE_API CPiecewisePolynomial CubicSpline(const std::vector<float>& vfSupportingPoints, const std::vector<double>& vdDataPoints);
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order. BEWARE of the internal conversion to from float double!
ITA_BASE_API CPiecewisePolynomial CubicSpline(const std::vector<double>& vdSupportingPoints, const std::vector<float>& vfDataPoints);
//! Uses cubic splines to interpolate the function defined by the given supporting and data points to a vector of evaluation points
ITA_BASE_API std::vector<double> CubicSpline(const std::vector<double>& vdSupportingPoints, const std::vector<double>& vdDataPoints, const std::vector<double>& vdEvalPoints);
//! Uses cubic splines to interpolate the function defined by the given supporting and data points to a vector of evaluation points. BEWARE of the internal conversion to from float double!
ITA_BASE_API std::vector<double> CubicSpline(const std::vector<float>& vfSupportingPoints, const std::vector<float>& vfDataPoints, const std::vector<float>& vfEvalPoints);
//! Uses cubic splines to interpolate the function defined by the given supporting and data points to a single evaluation points
ITA_BASE_API double CubicSpline(const std::vector<double>& vdSupportingPoints, const std::vector<double>& vdDataPoints, double dEvalPoint);
//! Uses cubic splines to interpolate the function defined by the given supporting and data points to a single evaluation points. BEWARE of the internal conversion to from float double!
ITA_BASE_API float CubicSpline(const std::vector<float>& vfSupportingPoints, const std::vector<float>& vfDataPoints, float dEvalPoint);
}
}
#endif // IW_ITA_BASE_SPLINE
# $Id:$
set( RelativeDir "include/ITABase/Math" )
set( RelativeSourceGroup "Header Files\\ITABase\\Math" )
set( SubDirs )
set( DirFiles
LinearAlgebra.h
PiecewisePolynomial.h
Spline.h
)
set( DirFiles_SourceGroup "${RelativeSourceGroup}" )
set( LocalSourceGroupFiles )
foreach( File ${DirFiles} )
list( APPEND LocalSourceGroupFiles "${RelativeDir}/${File}" )
list( APPEND ProjectSources "${RelativeDir}/${File}" )
endforeach()
source_group( ${DirFiles_SourceGroup} FILES ${LocalSourceGroupFiles} )
set( SubDirFiles "" )
foreach( Dir ${SubDirs} )
list( APPEND SubDirFiles "${RelativeDir}/${Dir}/_SourceFiles.cmake" )
endforeach()
foreach( SubDirFile ${SubDirFiles} )
include( ${SubDirFile} )
endforeach()
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
# $Id:$
set( RelativeDir "include/ITABase" )
set( RelativeSourceGroup "Header Files\\ITABase" )
set( SubDirs Math )
set( DirFiles
ITAProgress.h
)
if( ITA_BASE_WITH_JSON_SUPPORT )
list( APPEND DirFiles UtilsJSON.h )
endif()
set( DirFiles_SourceGroup "${RelativeSourceGroup}" )
set( LocalSourceGroupFiles )
foreach( File ${DirFiles} )
list( APPEND LocalSourceGroupFiles "${RelativeDir}/${File}" )
list( APPEND ProjectSources "${RelativeDir}/${File}" )
endforeach()
source_group( ${DirFiles_SourceGroup} FILES ${LocalSourceGroupFiles} )
set( SubDirFiles "" )
foreach( Dir ${SubDirs} )
list( APPEND SubDirFiles "${RelativeDir}/${Dir}/_SourceFiles.cmake" )
endforeach()
foreach( SubDirFile ${SubDirFiles} )
include( ${SubDirFile} )
endforeach()
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs
* (c) Copyright Institute of Technical Acoustics (ITA)
* RWTH Aachen University, Germany, 2015-2021
* RWTH Aachen University, Germany, 2015-2020
*
* ----------------------------------------------------------------
* ____ __________ _______
......
......@@ -3,7 +3,7 @@
*
* ITA core libs