From 563ff710e4a825d7991c3592dc293d540e510fad Mon Sep 17 00:00:00 2001 From: "Abele, Daniel" Date: Fri, 14 Mar 2025 22:06:58 +0100 Subject: [PATCH 1/4] install headers --- Makefile.am | 4 + src/c/Makefile.am | 421 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 425 insertions(+) diff --git a/Makefile.am b/Makefile.am index 4a3dbf78b..38108b2fe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2,3 +2,7 @@ EXTRA_DIST = reconf scripts test m4 examples etc doc packages SUBDIRS = src ACLOCAL_AMFLAGS = -I m4 + +configdir = $(includedir) +nobase_config_HEADERS = \ + ./config.h diff --git a/src/c/Makefile.am b/src/c/Makefile.am index a4fa5f125..c6c6170f8 100644 --- a/src/c/Makefile.am +++ b/src/c/Makefile.am @@ -917,3 +917,424 @@ issm_post_SOURCES = main/issm_post.cpp issm_post_CXXFLAGS= $(CXXFLAGS) endif #}}} + +issmlibdir = $(includedir) +nobase_issmlib_HEADERS = \ + ./analyses/AdjointBalancethickness2Analysis.h \ + ./analyses/AdjointBalancethicknessAnalysis.h \ + ./analyses/AdjointHorizAnalysis.h \ + ./analyses/AgeAnalysis.h \ + ./analyses/analyses.h \ + ./analyses/Analysis.h \ + ./analyses/Balancethickness2Analysis.h \ + ./analyses/BalancethicknessAnalysis.h \ + ./analyses/BalancethicknessSoftAnalysis.h \ + ./analyses/BalancevelocityAnalysis.h \ + ./analyses/DamageEvolutionAnalysis.h \ + ./analyses/DebrisAnalysis.h \ + ./analyses/DepthAverageAnalysis.h \ + ./analyses/EnthalpyAnalysis.h \ + ./analyses/EnumToAnalysis.h \ + ./analyses/EsaAnalysis.h \ + ./analyses/ExtrapolationAnalysis.h \ + ./analyses/ExtrudeFromBaseAnalysis.h \ + ./analyses/ExtrudeFromTopAnalysis.h \ + ./analyses/FreeSurfaceBaseAnalysis.h \ + ./analyses/FreeSurfaceTopAnalysis.h \ + ./analyses/GLheightadvectionAnalysis.h \ + ./analyses/HydrologyArmapwAnalysis.h \ + ./analyses/HydrologyDCEfficientAnalysis.h \ + ./analyses/HydrologyDCInefficientAnalysis.h \ + ./analyses/HydrologyGlaDSAnalysis.h \ + ./analyses/HydrologyPismAnalysis.h \ + ./analyses/HydrologyShaktiAnalysis.h \ + ./analyses/HydrologyShreveAnalysis.h \ + ./analyses/HydrologyTwsAnalysis.h \ + ./analyses/L2ProjectionBaseAnalysis.h \ + ./analyses/L2ProjectionEPLAnalysis.h \ + ./analyses/LevelsetAnalysis.h \ + ./analyses/LoveAnalysis.h \ + ./analyses/MasstransportAnalysis.h \ + ./analyses/MeltingAnalysis.h \ + ./analyses/MmemasstransportAnalysis.h \ + ./analyses/OceantransportAnalysis.h \ + ./analyses/SamplingAnalysis.h \ + ./analyses/SealevelchangeAnalysis.h \ + ./analyses/SmbAnalysis.h \ + ./analyses/SmoothAnalysis.h \ + ./analyses/StressbalanceAnalysis.h \ + ./analyses/StressbalanceSIAAnalysis.h \ + ./analyses/StressbalanceVerticalAnalysis.h \ + ./analyses/ThermalAnalysis.h \ + ./analyses/UzawaPressureAnalysis.h \ + ./bamg/AdjacentTriangle.h \ + ./bamg/BamgGeom.h \ + ./bamg/BamgMesh.h \ + ./bamg/bamgobjects.h \ + ./bamg/BamgOpts.h \ + ./bamg/BamgQuadtree.h \ + ./bamg/BamgVertex.h \ + ./bamg/CrackedEdge.h \ + ./bamg/Curve.h \ + ./bamg/det.h \ + ./bamg/Edge.h \ + ./bamg/GeomEdge.h \ + ./bamg/Geometry.h \ + ./bamg/GeomSubDomain.h \ + ./bamg/GeomVertex.h \ + ./bamg/include.h \ + ./bamg/ListofIntersectionTriangles.h \ + ./bamg/macros.h \ + ./bamg/Mesh.h \ + ./bamg/Metric.h \ + ./bamg/R2.h \ + ./bamg/SetOfE4.h \ + ./bamg/SubDomain.h \ + ./bamg/Triangle.h \ + ./bamg/typedefs.h \ + ./bamg/VertexOnEdge.h \ + ./bamg/VertexOnGeom.h \ + ./bamg/VertexOnVertex.h \ + ./classes/AmrBamg.h \ + ./classes/AmrNeopz.h \ + ./classes/BarystaticContributions.h \ + ./classes/Cfdragcoeffabsgrad.h \ + ./classes/Cfdragcoeffabsgradtransient.h \ + ./classes/Cflevelsetmisfit.h \ + ./classes/Cfrheologybbarabsgrad.h \ + ./classes/Cfrheologybbarabsgradtransient.h \ + ./classes/Cfsurfacelogvel.h \ + ./classes/Cfsurfacesquare.h \ + ./classes/Cfsurfacesquaretransient.h \ + ./classes/classes.h \ + ./classes/Contour.h \ + ./classes/Contours.h \ + ./classes/Definition.h \ + ./classes/DependentObject.h \ + ./classes/FemModel.h \ + ./classes/GiaDeflectionCoreArgs.h \ + ./classes/GrdLoads.h \ + ./classes/Hook.h \ + ./classes/IoModel.h \ + ./classes/Masscon.h \ + ./classes/Massconaxpby.h \ + ./classes/Massfluxatgate.h \ + ./classes/Misfit.h \ + ./classes/Nodalvalue.h \ + ./classes/Node.h \ + ./classes/Nodes.h \ + ./classes/Numberedcostfunction.h \ + ./classes/Profiler.h \ + ./classes/Radar.h \ + ./classes/Regionaloutput.h \ + ./classes/RiftStruct.h \ + ./classes/SealevelGeometry.h \ + ./classes/Segment.h \ + ./classes/Vertex.h \ + ./classes/Vertices.h \ + ./classes/Constraints/Constraint.h \ + ./classes/Constraints/Constraints.h \ + ./classes/Constraints/SpcDynamic.h \ + ./classes/Constraints/SpcStatic.h \ + ./classes/Constraints/SpcTransient.h \ + ./classes/Dakota/IssmDirectApplicInterface.h \ + ./classes/Dakota/IssmParallelDirectApplicInterface.h \ + ./classes/Elements/Element.h \ + ./classes/Elements/ElementHook.h \ + ./classes/Elements/Elements.h \ + ./classes/Elements/Penta.h \ + ./classes/Elements/PentaRef.h \ + ./classes/Elements/Seg.h \ + ./classes/Elements/SegRef.h \ + ./classes/Elements/Tetra.h \ + ./classes/Elements/TetraRef.h \ + ./classes/Elements/Tria.h \ + ./classes/Elements/TriaRef.h \ + ./classes/ExternalResults/ExternalResult.h \ + ./classes/ExternalResults/GenericExternalResult.h \ + ./classes/ExternalResults/Results.h \ + ./classes/Inputs/ArrayInput.h \ + ./classes/Inputs/BoolInput.h \ + ./classes/Inputs/ControlInput.h \ + ./classes/Inputs/DatasetInput.h \ + ./classes/Inputs/DoubleInput.h \ + ./classes/Inputs/ElementInput.h \ + ./classes/Inputs/Input.h \ + ./classes/Inputs/Inputs.h \ + ./classes/Inputs/IntArrayInput.h \ + ./classes/Inputs/IntInput.h \ + ./classes/Inputs/PentaInput.h \ + ./classes/Inputs/SegInput.h \ + ./classes/Inputs/TransientInput.h \ + ./classes/Inputs/TriaInput.h \ + ./classes/Loads/Channel.h \ + ./classes/Loads/Friction.h \ + ./classes/Loads/Load.h \ + ./classes/Loads/Loads.h \ + ./classes/Loads/Moulin.h \ + ./classes/Loads/Neumannflux.h \ + ./classes/Loads/Numericalflux.h \ + ./classes/Loads/Pengrid.h \ + ./classes/Loads/Penpair.h \ + ./classes/Loads/Riftfront.h \ + ./classes/Materials/Material.h \ + ./classes/Materials/Materials.h \ + ./classes/Materials/Matestar.h \ + ./classes/Materials/Matice.h \ + ./classes/Materials/Matlitho.h \ + ./classes/Options/GenericOption.h \ + ./classes/Options/Option.h \ + ./classes/Options/Options.h \ + ./classes/Params/BoolParam.h \ + ./classes/Params/ControlParam.h \ + ./classes/Params/DataSetParam.h \ + ./classes/Params/DoubleMatArrayParam.h \ + ./classes/Params/DoubleMatParam.h \ + ./classes/Params/DoubleParam.h \ + ./classes/Params/DoubleTransientMatParam.h \ + ./classes/Params/DoubleVecParam.h \ + ./classes/Params/FileParam.h \ + ./classes/Params/GenericParam.h \ + ./classes/Params/IntMatParam.h \ + ./classes/Params/IntParam.h \ + ./classes/Params/IntVecParam.h \ + ./classes/Params/MatrixParam.h \ + ./classes/Params/Param.h \ + ./classes/Params/Parameters.h \ + ./classes/Params/StringArrayParam.h \ + ./classes/Params/StringParam.h \ + ./classes/Params/TransientArrayParam.h \ + ./classes/Params/TransientParam.h \ + ./classes/Params/VectorParam.h \ + ./classes/gauss/Gauss.h \ + ./classes/gauss/gaussobjects.h \ + ./classes/gauss/GaussPenta.h \ + ./classes/gauss/GaussSeg.h \ + ./classes/gauss/GaussTetra.h \ + ./classes/gauss/GaussTria.h \ + ./classes/kriging/Covertree.h \ + ./classes/kriging/ExponentialVariogram.h \ + ./classes/kriging/GaussianVariogram.h \ + ./classes/kriging/krigingobjects.h \ + ./classes/kriging/Observation.h \ + ./classes/kriging/Observations.h \ + ./classes/kriging/PowerVariogram.h \ + ./classes/kriging/Quadtree.h \ + ./classes/kriging/SphericalVariogram.h \ + ./classes/kriging/Variogram.h \ + ./classes/matrix/ElementMatrix.h \ + ./classes/matrix/ElementVector.h \ + ./classes/matrix/matrixobjects.h \ + ./cores/cores.h \ + ./datastructures/DataSet.h \ + ./datastructures/datastructures.h \ + ./datastructures/Object.h \ + ./kml/KML_Attribute.h \ + ./kml/KML_ColorStyle.h \ + ./kml/KML_Comment.h \ + ./kml/KML_Container.h \ + ./kml/KML_Document.h \ + ./kml/KML_Feature.h \ + ./kml/KML_File.h \ + ./kml/KML_Folder.h \ + ./kml/KML_Geometry.h \ + ./kml/KML_GroundOverlay.h \ + ./kml/KML_Icon.h \ + ./kml/KML_LatLonBox.h \ + ./kml/KML_LinearRing.h \ + ./kml/KML_LineString.h \ + ./kml/KML_LineStyle.h \ + ./kml/KML_MultiGeometry.h \ + ./kml/KML_Object.h \ + ./kml/KML_Overlay.h \ + ./kml/KML_Placemark.h \ + ./kml/KML_Point.h \ + ./kml/KML_Polygon.h \ + ./kml/KML_PolyStyle.h \ + ./kml/KML_Style.h \ + ./kml/KML_StyleSelector.h \ + ./kml/KML_SubStyle.h \ + ./kml/KML_Unknown.h \ + ./kml/KMLFileReadUtils.h \ + ./kml/kmlobjects.h \ + ./main/globals.h \ + ./main/issm.h \ + ./modules/modules.h \ + ./modules/AllocateSystemMatricesx/AllocateSystemMatricesx.h \ + ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h \ + ./modules/BamgConvertMeshx/BamgConvertMeshx.h \ + ./modules/BamgTriangulatex/BamgTriangulatex.h \ + ./modules/Bamgx/Bamgx.h \ + ./modules/Calvingx/Calvingx.h \ + ./modules/Chacox/Chacox.h \ + ./modules/ConfigureObjectsx/ConfigureObjectsx.h \ + ./modules/ConstraintsStatex/ConstraintsStateLocal.h \ + ./modules/ConstraintsStatex/ConstraintsStatex.h \ + ./modules/ContourToMeshx/ContourToMeshx.h \ + ./modules/ContourToNodesx/ContourToNodesx.h \ + ./modules/ControlInputSetGradientx/ControlInputSetGradientx.h \ + ./modules/CoordinateSystemTransformx/CoordinateSystemTransformx.h \ + ./modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h \ + ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h \ + ./modules/Damagex/Damagex.h \ + ./modules/DistanceToMaskBoundaryx/DistanceToMaskBoundaryx.h \ + ./modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h \ + ./modules/ElementConnectivityx/ElementConnectivityx.h \ + ./modules/ElementCoordinatesx/ElementCoordinatesx.h \ + ./modules/Exp2Kmlx/Exp2Kmlx.h \ + ./modules/ExpToLevelSetx/ExpToLevelSetx.h \ + ./modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.h \ + ./modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h \ + ./modules/FrontalForcingsx/FrontalForcingsx.h \ + ./modules/GeothermalFluxx/GeothermalFluxx.h \ + ./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h \ + ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h \ + ./modules/GetVectorFromInputsx/GetVectorFromInputsx.h \ + ./modules/GiaDeflectionCorex/GiaDeflectionCorex.h \ + ./modules/Gradjx/Gradjx.h \ + ./modules/GroundinglineMigrationx/GroundinglineMigrationx.h \ + ./modules/InputDepthAverageAtBasex/InputDepthAverageAtBasex.h \ + ./modules/InputDuplicatex/InputDuplicatex.h \ + ./modules/InputExtrudex/InputExtrudex.h \ + ./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h \ + ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.h \ + ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.h \ + ./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h \ + ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h \ + ./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h \ + ./modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h \ + ./modules/InterpFromMesh2dx/InterpFromMesh2dx.h \ + ./modules/InterpFromMeshToGridx/InterpFromMeshToGridx.h \ + ./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.h \ + ./modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h \ + ./modules/IoModelToConstraintsx/IoModelToConstraintsx.h \ + ./modules/KMLFileReadx/KMLFileReadx.h \ + ./modules/KMLMeshWritex/KMLMeshWritex.h \ + ./modules/KMLOverlayx/KMLOverlayx.h \ + ./modules/KillIcebergsx/KillIcebergsx.h \ + ./modules/Kml2Expx/Kml2Expx.h \ + ./modules/Krigingx/Krigingx.h \ + ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h \ + ./modules/MeshPartitionx/MeshPartitionx.h \ + ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h \ + ./modules/MmeToInputFromIdx/MmeToInputFromIdx.h \ + ./modules/MmeToInputx/MmeToInputx.h \ + ./modules/ModelProcessorx/ModelProcessorx.h \ + ./modules/NodalValuex/NodalValuex.h \ + ./modules/NodeConnectivityx/NodeConnectivityx.h \ + ./modules/NodesDofx/NodesDofx.h \ + ./modules/OceanExchangeDatax/OceanExchangeDatax.h \ + ./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.h \ + ./modules/OutputResultsx/OutputResultsx.h \ + ./modules/ParseToolkitsOptionsx/ParseToolkitsOptionsx.h \ + ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h \ + ./modules/ProcessRiftsx/ProcessRiftsx.h \ + ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h \ + ./modules/QmuStatisticsx/QmuStatisticsx.h \ + ./modules/Reduceloadx/Reduceloadx.h \ + ./modules/Reducevectorgtofx/Reducevectorgtofx.h \ + ./modules/ResetConstraintsx/ResetConstraintsx.h \ + ./modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h \ + ./modules/RheologyBAbsGradientx/RheologyBAbsGradientx.h \ + ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h \ + ./modules/Scotchx/Scotchx.h \ + ./modules/SetActiveNodesLSMx/SetActiveNodesLSMx.h \ + ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h \ + ./modules/Shp2Kmlx/Shp2Kmlx.h \ + ./modules/Solverx/Solverx.h \ + ./modules/SpcNodesx/SpcNodesx.h \ + ./modules/StochasticForcingx/StochasticForcingx.h \ + ./modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h \ + ./modules/SurfaceAreax/SurfaceAreax.h \ + ./modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h \ + ./modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h \ + ./modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h \ + ./modules/SurfaceMassBalancex/SurfaceMassBalancex.h \ + ./modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h \ + ./modules/SystemMatricesx/SystemMatricesx.h \ + ./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h \ + ./modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h \ + ./modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h \ + ./modules/Trianglex/Trianglex.h \ + ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h \ + ./modules/UpdateMmesx/UpdateMmesx.h \ + ./modules/VertexCoordinatesx/VertexCoordinatesx.h \ + ./modules/Zgesvx/Zgesvx.h \ + ./shared/shared.h \ + ./shared/Bamg/Abs.h \ + ./shared/Bamg/BigPrimeNumber.h \ + ./shared/Bamg/Exchange.h \ + ./shared/Bamg/extrema.h \ + ./shared/Bamg/HeapSort.h \ + ./shared/Bamg/OppositeAngle.h \ + ./shared/Bamg/shared.h \ + ./shared/Elements/elements.h \ + ./shared/Enum/Enum.h \ + ./shared/Enum/EnumDefinitions.h \ + ./shared/Exceptions/exceptions.h \ + ./shared/Exp/exp.h \ + ./shared/FSanalyticals/fsanalyticals.h \ + ./shared/LatLong/latlong.h \ + ./shared/Matrix/matrix.h \ + ./shared/MemOps/MemOps.h \ + ./shared/Numerics/constants.h \ + ./shared/Numerics/GaussPoints.h \ + ./shared/Numerics/isnan.h \ + ./shared/Numerics/numerics.h \ + ./shared/Numerics/OptPars.h \ + ./shared/Numerics/recast.h \ + ./shared/Numerics/types.h \ + ./shared/Numerics/Verbosity.h \ + ./shared/Random/random.h \ + ./shared/Random/randomgenerator.h \ + ./shared/Sorting/sorting.h \ + ./shared/String/sharedstring.h \ + ./shared/Threads/issm_threads.h \ + ./shared/Triangle/triangle.h \ + ./shared/io/io.h \ + ./shared/io/Comm/IssmComm.h \ + ./shared/io/Disk/diskio.h \ + ./shared/io/Marshalling/IoCodeConversions.h \ + ./shared/io/Marshalling/Marshalling.h \ + ./shared/io/Print/Print.h \ + ./solutionsequences/solutionsequences.h \ + ./toolkits/ToolkitOptions.h \ + ./toolkits/toolkits.h \ + ./toolkits/toolkitsenums.h \ + ./toolkits/adolc/AdolcEdf.h \ + ./toolkits/adolc/adolcincludes.h \ + ./toolkits/codipack/CoDiPackGlobal.h \ + ./toolkits/codipack/codipackincludes.h \ + ./toolkits/codipack/CoDiPackTypes.h \ + ./toolkits/gsl/gslincludes.h \ + ./toolkits/issm/Bucket.h \ + ./toolkits/issm/IssmAbsMat.h \ + ./toolkits/issm/IssmAbsVec.h \ + ./toolkits/issm/IssmDenseMat.h \ + ./toolkits/issm/IssmMat.h \ + ./toolkits/issm/IssmMpiDenseMat.h \ + ./toolkits/issm/IssmMpiSparseMat.h \ + ./toolkits/issm/IssmMpiVec.h \ + ./toolkits/issm/IssmSeqVec.h \ + ./toolkits/issm/IssmSolver.h \ + ./toolkits/issm/issmtoolkit.h \ + ./toolkits/issm/IssmToolkitUtils.h \ + ./toolkits/issm/IssmVec.h \ + ./toolkits/issm/SparseRow.h \ + ./toolkits/metis/metisincludes.h \ + ./toolkits/metis/patches/metispatches.h \ + ./toolkits/mpi/issmmpi.h \ + ./toolkits/mpi/commops/commops.h \ + ./toolkits/mumps/mumpsincludes.h \ + ./toolkits/objects/Matrix.h \ + ./toolkits/objects/Solver.h \ + ./toolkits/objects/toolkitobjects.h \ + ./toolkits/objects/Vector.h \ + ./toolkits/petsc/petscincludes.h \ + ./toolkits/petsc/objects/PetscMat.h \ + ./toolkits/petsc/objects/petscobjects.h \ + ./toolkits/petsc/objects/PetscSolver.h \ + ./toolkits/petsc/objects/PetscVec.h \ + ./toolkits/petsc/patches/petscpatches.h \ + ./toolkits/petsc/patches/SolverEnum.h \ + ./toolkits/triangle/triangleincludes.h From 6c81c2bf0878cfb5aa6c0ca6d41a1b710142f44f Mon Sep 17 00:00:00 2001 From: "Abele, Daniel" Date: Sat, 15 Mar 2025 00:18:32 +0100 Subject: [PATCH 2/4] install pkgconfig file --- ISSM.pc.in | 11 +++++++++++ Makefile.am | 8 ++++++-- configure.ac | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 ISSM.pc.in diff --git a/ISSM.pc.in b/ISSM.pc.in new file mode 100644 index 000000000..f62b4c19c --- /dev/null +++ b/ISSM.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: ISSM +Description: The Ice-Sheet and Sea-level System Model (ISSM) +Version: @VERSION@ +Url: @PACKAGE_URL@ +Libs: -L${libdir} -lISSMCore -lISSMModules -lISSMOverload +Cflags: -I${includedir} -DHAVE_CONFIG_H diff --git a/Makefile.am b/Makefile.am index 38108b2fe..f257784a2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,6 +3,10 @@ SUBDIRS = src ACLOCAL_AMFLAGS = -I m4 -configdir = $(includedir) -nobase_config_HEADERS = \ +issmconfigdir = $(includedir) +issmconfig_HEADERS = \ ./config.h + +issmpcdir = $(libdir)/pkgconfig +issmpc_DATA = \ + ./ISSM.pc diff --git a/configure.ac b/configure.ac index 6b7aaba0c..4efc79402 100644 --- a/configure.ac +++ b/configure.ac @@ -34,6 +34,7 @@ ISSM_OPTIONS #List all Makefiles AC_CONFIG_FILES([ + ISSM.pc Makefile src/Makefile src/c/Makefile From 577290086a5789f3fb40852a049e82a49d131b4b Mon Sep 17 00:00:00 2001 From: "Abele, Daniel" Date: Thu, 20 Mar 2025 15:58:20 +0100 Subject: [PATCH 3/4] find all headers automatically --- Makefile.am | 17 ++ configure.ac | 8 +- m4/issm_options.m4 | 11 ++ src/c/Makefile.am | 421 --------------------------------------------- 4 files changed, 35 insertions(+), 422 deletions(-) diff --git a/Makefile.am b/Makefile.am index f257784a2..5fe36a20f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,10 +3,27 @@ SUBDIRS = src ACLOCAL_AMFLAGS = -I m4 +if INSTALL_HEADERS +# install configured headers issmconfigdir = $(includedir) issmconfig_HEADERS = \ ./config.h +# install configured pkg-config file issmpcdir = $(libdir)/pkgconfig issmpc_DATA = \ ./ISSM.pc + +# install all normal ISSM headers +install-all-issm-headers: + { \ + cd $(abs_srcdir)/src/c; \ + hlist=$$(find -name '*.h'); \ + for h in $$hlist; do \ + $(MKDIR_P) $(DESTDIR)$(includedir)/$$(dirname $$h); \ + $(INSTALL_HEADER) $$h $(DESTDIR)$(includedir)/$$h; \ + done; \ + } +.PHONY: install-all-issm-headers +install-data-local: install-all-issm-headers +endif diff --git a/configure.ac b/configure.ac index 4efc79402..88ae9bf56 100644 --- a/configure.ac +++ b/configure.ac @@ -34,7 +34,6 @@ ISSM_OPTIONS #List all Makefiles AC_CONFIG_FILES([ - ISSM.pc Makefile src/Makefile src/c/Makefile @@ -45,5 +44,12 @@ AC_CONFIG_FILES([ src/m/Makefile ]) +# pkg-config file +AM_COND_IF([INSTALL_HEADERS], [ + AC_CONFIG_FILES([ + ISSM.pc + ]) +]) + #End of configure.ac AC_OUTPUT diff --git a/m4/issm_options.m4 b/m4/issm_options.m4 index 38fbb78ff..defcf1ad2 100644 --- a/m4/issm_options.m4 +++ b/m4/issm_options.m4 @@ -180,6 +180,17 @@ AC_DEFUN([ISSM_OPTIONS],[ ISSMEXT=".exe" AC_SUBST([ISSMEXT]) dnl }}} + dnl Install Headers {{{ + AC_MSG_CHECKING(for installing headers) + AC_ARG_ENABLE( + [install-headers], + AS_HELP_STRING([--enable-install-headers], [install headers and auiliary files to use ISSM as a library]), + [INSTALL_HEADERS_VALUE=${enableval}], + [INSTALL_HEADERS_VALUE=no] + ) + AM_CONDITIONAL([INSTALL_HEADERS], [test "x${INSTALL_HEADERS_VALUE}" == "xyes"]) + AC_MSG_RESULT([$INSTALL_HEADERS_VALUE]) + dnl }}} dnl OS{{{ IS_MAC=no diff --git a/src/c/Makefile.am b/src/c/Makefile.am index c6c6170f8..a4fa5f125 100644 --- a/src/c/Makefile.am +++ b/src/c/Makefile.am @@ -917,424 +917,3 @@ issm_post_SOURCES = main/issm_post.cpp issm_post_CXXFLAGS= $(CXXFLAGS) endif #}}} - -issmlibdir = $(includedir) -nobase_issmlib_HEADERS = \ - ./analyses/AdjointBalancethickness2Analysis.h \ - ./analyses/AdjointBalancethicknessAnalysis.h \ - ./analyses/AdjointHorizAnalysis.h \ - ./analyses/AgeAnalysis.h \ - ./analyses/analyses.h \ - ./analyses/Analysis.h \ - ./analyses/Balancethickness2Analysis.h \ - ./analyses/BalancethicknessAnalysis.h \ - ./analyses/BalancethicknessSoftAnalysis.h \ - ./analyses/BalancevelocityAnalysis.h \ - ./analyses/DamageEvolutionAnalysis.h \ - ./analyses/DebrisAnalysis.h \ - ./analyses/DepthAverageAnalysis.h \ - ./analyses/EnthalpyAnalysis.h \ - ./analyses/EnumToAnalysis.h \ - ./analyses/EsaAnalysis.h \ - ./analyses/ExtrapolationAnalysis.h \ - ./analyses/ExtrudeFromBaseAnalysis.h \ - ./analyses/ExtrudeFromTopAnalysis.h \ - ./analyses/FreeSurfaceBaseAnalysis.h \ - ./analyses/FreeSurfaceTopAnalysis.h \ - ./analyses/GLheightadvectionAnalysis.h \ - ./analyses/HydrologyArmapwAnalysis.h \ - ./analyses/HydrologyDCEfficientAnalysis.h \ - ./analyses/HydrologyDCInefficientAnalysis.h \ - ./analyses/HydrologyGlaDSAnalysis.h \ - ./analyses/HydrologyPismAnalysis.h \ - ./analyses/HydrologyShaktiAnalysis.h \ - ./analyses/HydrologyShreveAnalysis.h \ - ./analyses/HydrologyTwsAnalysis.h \ - ./analyses/L2ProjectionBaseAnalysis.h \ - ./analyses/L2ProjectionEPLAnalysis.h \ - ./analyses/LevelsetAnalysis.h \ - ./analyses/LoveAnalysis.h \ - ./analyses/MasstransportAnalysis.h \ - ./analyses/MeltingAnalysis.h \ - ./analyses/MmemasstransportAnalysis.h \ - ./analyses/OceantransportAnalysis.h \ - ./analyses/SamplingAnalysis.h \ - ./analyses/SealevelchangeAnalysis.h \ - ./analyses/SmbAnalysis.h \ - ./analyses/SmoothAnalysis.h \ - ./analyses/StressbalanceAnalysis.h \ - ./analyses/StressbalanceSIAAnalysis.h \ - ./analyses/StressbalanceVerticalAnalysis.h \ - ./analyses/ThermalAnalysis.h \ - ./analyses/UzawaPressureAnalysis.h \ - ./bamg/AdjacentTriangle.h \ - ./bamg/BamgGeom.h \ - ./bamg/BamgMesh.h \ - ./bamg/bamgobjects.h \ - ./bamg/BamgOpts.h \ - ./bamg/BamgQuadtree.h \ - ./bamg/BamgVertex.h \ - ./bamg/CrackedEdge.h \ - ./bamg/Curve.h \ - ./bamg/det.h \ - ./bamg/Edge.h \ - ./bamg/GeomEdge.h \ - ./bamg/Geometry.h \ - ./bamg/GeomSubDomain.h \ - ./bamg/GeomVertex.h \ - ./bamg/include.h \ - ./bamg/ListofIntersectionTriangles.h \ - ./bamg/macros.h \ - ./bamg/Mesh.h \ - ./bamg/Metric.h \ - ./bamg/R2.h \ - ./bamg/SetOfE4.h \ - ./bamg/SubDomain.h \ - ./bamg/Triangle.h \ - ./bamg/typedefs.h \ - ./bamg/VertexOnEdge.h \ - ./bamg/VertexOnGeom.h \ - ./bamg/VertexOnVertex.h \ - ./classes/AmrBamg.h \ - ./classes/AmrNeopz.h \ - ./classes/BarystaticContributions.h \ - ./classes/Cfdragcoeffabsgrad.h \ - ./classes/Cfdragcoeffabsgradtransient.h \ - ./classes/Cflevelsetmisfit.h \ - ./classes/Cfrheologybbarabsgrad.h \ - ./classes/Cfrheologybbarabsgradtransient.h \ - ./classes/Cfsurfacelogvel.h \ - ./classes/Cfsurfacesquare.h \ - ./classes/Cfsurfacesquaretransient.h \ - ./classes/classes.h \ - ./classes/Contour.h \ - ./classes/Contours.h \ - ./classes/Definition.h \ - ./classes/DependentObject.h \ - ./classes/FemModel.h \ - ./classes/GiaDeflectionCoreArgs.h \ - ./classes/GrdLoads.h \ - ./classes/Hook.h \ - ./classes/IoModel.h \ - ./classes/Masscon.h \ - ./classes/Massconaxpby.h \ - ./classes/Massfluxatgate.h \ - ./classes/Misfit.h \ - ./classes/Nodalvalue.h \ - ./classes/Node.h \ - ./classes/Nodes.h \ - ./classes/Numberedcostfunction.h \ - ./classes/Profiler.h \ - ./classes/Radar.h \ - ./classes/Regionaloutput.h \ - ./classes/RiftStruct.h \ - ./classes/SealevelGeometry.h \ - ./classes/Segment.h \ - ./classes/Vertex.h \ - ./classes/Vertices.h \ - ./classes/Constraints/Constraint.h \ - ./classes/Constraints/Constraints.h \ - ./classes/Constraints/SpcDynamic.h \ - ./classes/Constraints/SpcStatic.h \ - ./classes/Constraints/SpcTransient.h \ - ./classes/Dakota/IssmDirectApplicInterface.h \ - ./classes/Dakota/IssmParallelDirectApplicInterface.h \ - ./classes/Elements/Element.h \ - ./classes/Elements/ElementHook.h \ - ./classes/Elements/Elements.h \ - ./classes/Elements/Penta.h \ - ./classes/Elements/PentaRef.h \ - ./classes/Elements/Seg.h \ - ./classes/Elements/SegRef.h \ - ./classes/Elements/Tetra.h \ - ./classes/Elements/TetraRef.h \ - ./classes/Elements/Tria.h \ - ./classes/Elements/TriaRef.h \ - ./classes/ExternalResults/ExternalResult.h \ - ./classes/ExternalResults/GenericExternalResult.h \ - ./classes/ExternalResults/Results.h \ - ./classes/Inputs/ArrayInput.h \ - ./classes/Inputs/BoolInput.h \ - ./classes/Inputs/ControlInput.h \ - ./classes/Inputs/DatasetInput.h \ - ./classes/Inputs/DoubleInput.h \ - ./classes/Inputs/ElementInput.h \ - ./classes/Inputs/Input.h \ - ./classes/Inputs/Inputs.h \ - ./classes/Inputs/IntArrayInput.h \ - ./classes/Inputs/IntInput.h \ - ./classes/Inputs/PentaInput.h \ - ./classes/Inputs/SegInput.h \ - ./classes/Inputs/TransientInput.h \ - ./classes/Inputs/TriaInput.h \ - ./classes/Loads/Channel.h \ - ./classes/Loads/Friction.h \ - ./classes/Loads/Load.h \ - ./classes/Loads/Loads.h \ - ./classes/Loads/Moulin.h \ - ./classes/Loads/Neumannflux.h \ - ./classes/Loads/Numericalflux.h \ - ./classes/Loads/Pengrid.h \ - ./classes/Loads/Penpair.h \ - ./classes/Loads/Riftfront.h \ - ./classes/Materials/Material.h \ - ./classes/Materials/Materials.h \ - ./classes/Materials/Matestar.h \ - ./classes/Materials/Matice.h \ - ./classes/Materials/Matlitho.h \ - ./classes/Options/GenericOption.h \ - ./classes/Options/Option.h \ - ./classes/Options/Options.h \ - ./classes/Params/BoolParam.h \ - ./classes/Params/ControlParam.h \ - ./classes/Params/DataSetParam.h \ - ./classes/Params/DoubleMatArrayParam.h \ - ./classes/Params/DoubleMatParam.h \ - ./classes/Params/DoubleParam.h \ - ./classes/Params/DoubleTransientMatParam.h \ - ./classes/Params/DoubleVecParam.h \ - ./classes/Params/FileParam.h \ - ./classes/Params/GenericParam.h \ - ./classes/Params/IntMatParam.h \ - ./classes/Params/IntParam.h \ - ./classes/Params/IntVecParam.h \ - ./classes/Params/MatrixParam.h \ - ./classes/Params/Param.h \ - ./classes/Params/Parameters.h \ - ./classes/Params/StringArrayParam.h \ - ./classes/Params/StringParam.h \ - ./classes/Params/TransientArrayParam.h \ - ./classes/Params/TransientParam.h \ - ./classes/Params/VectorParam.h \ - ./classes/gauss/Gauss.h \ - ./classes/gauss/gaussobjects.h \ - ./classes/gauss/GaussPenta.h \ - ./classes/gauss/GaussSeg.h \ - ./classes/gauss/GaussTetra.h \ - ./classes/gauss/GaussTria.h \ - ./classes/kriging/Covertree.h \ - ./classes/kriging/ExponentialVariogram.h \ - ./classes/kriging/GaussianVariogram.h \ - ./classes/kriging/krigingobjects.h \ - ./classes/kriging/Observation.h \ - ./classes/kriging/Observations.h \ - ./classes/kriging/PowerVariogram.h \ - ./classes/kriging/Quadtree.h \ - ./classes/kriging/SphericalVariogram.h \ - ./classes/kriging/Variogram.h \ - ./classes/matrix/ElementMatrix.h \ - ./classes/matrix/ElementVector.h \ - ./classes/matrix/matrixobjects.h \ - ./cores/cores.h \ - ./datastructures/DataSet.h \ - ./datastructures/datastructures.h \ - ./datastructures/Object.h \ - ./kml/KML_Attribute.h \ - ./kml/KML_ColorStyle.h \ - ./kml/KML_Comment.h \ - ./kml/KML_Container.h \ - ./kml/KML_Document.h \ - ./kml/KML_Feature.h \ - ./kml/KML_File.h \ - ./kml/KML_Folder.h \ - ./kml/KML_Geometry.h \ - ./kml/KML_GroundOverlay.h \ - ./kml/KML_Icon.h \ - ./kml/KML_LatLonBox.h \ - ./kml/KML_LinearRing.h \ - ./kml/KML_LineString.h \ - ./kml/KML_LineStyle.h \ - ./kml/KML_MultiGeometry.h \ - ./kml/KML_Object.h \ - ./kml/KML_Overlay.h \ - ./kml/KML_Placemark.h \ - ./kml/KML_Point.h \ - ./kml/KML_Polygon.h \ - ./kml/KML_PolyStyle.h \ - ./kml/KML_Style.h \ - ./kml/KML_StyleSelector.h \ - ./kml/KML_SubStyle.h \ - ./kml/KML_Unknown.h \ - ./kml/KMLFileReadUtils.h \ - ./kml/kmlobjects.h \ - ./main/globals.h \ - ./main/issm.h \ - ./modules/modules.h \ - ./modules/AllocateSystemMatricesx/AllocateSystemMatricesx.h \ - ./modules/AverageOntoPartitionx/AverageOntoPartitionx.h \ - ./modules/BamgConvertMeshx/BamgConvertMeshx.h \ - ./modules/BamgTriangulatex/BamgTriangulatex.h \ - ./modules/Bamgx/Bamgx.h \ - ./modules/Calvingx/Calvingx.h \ - ./modules/Chacox/Chacox.h \ - ./modules/ConfigureObjectsx/ConfigureObjectsx.h \ - ./modules/ConstraintsStatex/ConstraintsStateLocal.h \ - ./modules/ConstraintsStatex/ConstraintsStatex.h \ - ./modules/ContourToMeshx/ContourToMeshx.h \ - ./modules/ContourToNodesx/ContourToNodesx.h \ - ./modules/ControlInputSetGradientx/ControlInputSetGradientx.h \ - ./modules/CoordinateSystemTransformx/CoordinateSystemTransformx.h \ - ./modules/CreateJacobianMatrixx/CreateJacobianMatrixx.h \ - ./modules/CreateNodalConstraintsx/CreateNodalConstraintsx.h \ - ./modules/Damagex/Damagex.h \ - ./modules/DistanceToMaskBoundaryx/DistanceToMaskBoundaryx.h \ - ./modules/DragCoefficientAbsGradientx/DragCoefficientAbsGradientx.h \ - ./modules/ElementConnectivityx/ElementConnectivityx.h \ - ./modules/ElementCoordinatesx/ElementCoordinatesx.h \ - ./modules/Exp2Kmlx/Exp2Kmlx.h \ - ./modules/ExpToLevelSetx/ExpToLevelSetx.h \ - ./modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.h \ - ./modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.h \ - ./modules/FrontalForcingsx/FrontalForcingsx.h \ - ./modules/GeothermalFluxx/GeothermalFluxx.h \ - ./modules/GetSolutionFromInputsx/GetSolutionFromInputsx.h \ - ./modules/GetVectorFromControlInputsx/GetVectorFromControlInputsx.h \ - ./modules/GetVectorFromInputsx/GetVectorFromInputsx.h \ - ./modules/GiaDeflectionCorex/GiaDeflectionCorex.h \ - ./modules/Gradjx/Gradjx.h \ - ./modules/GroundinglineMigrationx/GroundinglineMigrationx.h \ - ./modules/InputDepthAverageAtBasex/InputDepthAverageAtBasex.h \ - ./modules/InputDuplicatex/InputDuplicatex.h \ - ./modules/InputExtrudex/InputExtrudex.h \ - ./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h \ - ./modules/InputUpdateFromDakotax/InputUpdateFromDakotax.h \ - ./modules/InputUpdateFromMatrixDakotax/InputUpdateFromMatrixDakotax.h \ - ./modules/InputUpdateFromSolutionx/InputUpdateFromSolutionx.h \ - ./modules/InputUpdateFromVectorDakotax/InputUpdateFromVectorDakotax.h \ - ./modules/InputUpdateFromVectorx/InputUpdateFromVectorx.h \ - ./modules/InterpFromGridToMeshx/InterpFromGridToMeshx.h \ - ./modules/InterpFromMesh2dx/InterpFromMesh2dx.h \ - ./modules/InterpFromMeshToGridx/InterpFromMeshToGridx.h \ - ./modules/InterpFromMeshToMesh2dx/InterpFromMeshToMesh2dx.h \ - ./modules/InterpFromMeshToMesh3dx/InterpFromMeshToMesh3dx.h \ - ./modules/IoModelToConstraintsx/IoModelToConstraintsx.h \ - ./modules/KMLFileReadx/KMLFileReadx.h \ - ./modules/KMLMeshWritex/KMLMeshWritex.h \ - ./modules/KMLOverlayx/KMLOverlayx.h \ - ./modules/KillIcebergsx/KillIcebergsx.h \ - ./modules/Kml2Expx/Kml2Expx.h \ - ./modules/Krigingx/Krigingx.h \ - ./modules/Mergesolutionfromftogx/Mergesolutionfromftogx.h \ - ./modules/MeshPartitionx/MeshPartitionx.h \ - ./modules/MeshProfileIntersectionx/MeshProfileIntersectionx.h \ - ./modules/MmeToInputFromIdx/MmeToInputFromIdx.h \ - ./modules/MmeToInputx/MmeToInputx.h \ - ./modules/ModelProcessorx/ModelProcessorx.h \ - ./modules/NodalValuex/NodalValuex.h \ - ./modules/NodeConnectivityx/NodeConnectivityx.h \ - ./modules/NodesDofx/NodesDofx.h \ - ./modules/OceanExchangeDatax/OceanExchangeDatax.h \ - ./modules/OutputDefinitionsResponsex/OutputDefinitionsResponsex.h \ - ./modules/OutputResultsx/OutputResultsx.h \ - ./modules/ParseToolkitsOptionsx/ParseToolkitsOptionsx.h \ - ./modules/PointCloudFindNeighborsx/PointCloudFindNeighborsx.h \ - ./modules/ProcessRiftsx/ProcessRiftsx.h \ - ./modules/PropagateFlagsFromConnectivityx/PropagateFlagsFromConnectivityx.h \ - ./modules/QmuStatisticsx/QmuStatisticsx.h \ - ./modules/Reduceloadx/Reduceloadx.h \ - ./modules/Reducevectorgtofx/Reducevectorgtofx.h \ - ./modules/ResetConstraintsx/ResetConstraintsx.h \ - ./modules/ResetFSBasalBoundaryConditionx/ResetFSBasalBoundaryConditionx.h \ - ./modules/RheologyBAbsGradientx/RheologyBAbsGradientx.h \ - ./modules/RheologyBbarAbsGradientx/RheologyBbarAbsGradientx.h \ - ./modules/Scotchx/Scotchx.h \ - ./modules/SetActiveNodesLSMx/SetActiveNodesLSMx.h \ - ./modules/SetControlInputsFromVectorx/SetControlInputsFromVectorx.h \ - ./modules/Shp2Kmlx/Shp2Kmlx.h \ - ./modules/Solverx/Solverx.h \ - ./modules/SpcNodesx/SpcNodesx.h \ - ./modules/StochasticForcingx/StochasticForcingx.h \ - ./modules/SurfaceAbsVelMisfitx/SurfaceAbsVelMisfitx.h \ - ./modules/SurfaceAreax/SurfaceAreax.h \ - ./modules/SurfaceAverageVelMisfitx/SurfaceAverageVelMisfitx.h \ - ./modules/SurfaceLogVelMisfitx/SurfaceLogVelMisfitx.h \ - ./modules/SurfaceLogVxVyMisfitx/SurfaceLogVxVyMisfitx.h \ - ./modules/SurfaceMassBalancex/SurfaceMassBalancex.h \ - ./modules/SurfaceRelVelMisfitx/SurfaceRelVelMisfitx.h \ - ./modules/SystemMatricesx/SystemMatricesx.h \ - ./modules/ThicknessAbsMisfitx/ThicknessAbsMisfitx.h \ - ./modules/ThicknessAcrossGradientx/ThicknessAcrossGradientx.h \ - ./modules/ThicknessAlongGradientx/ThicknessAlongGradientx.h \ - ./modules/Trianglex/Trianglex.h \ - ./modules/UpdateDynamicConstraintsx/UpdateDynamicConstraintsx.h \ - ./modules/UpdateMmesx/UpdateMmesx.h \ - ./modules/VertexCoordinatesx/VertexCoordinatesx.h \ - ./modules/Zgesvx/Zgesvx.h \ - ./shared/shared.h \ - ./shared/Bamg/Abs.h \ - ./shared/Bamg/BigPrimeNumber.h \ - ./shared/Bamg/Exchange.h \ - ./shared/Bamg/extrema.h \ - ./shared/Bamg/HeapSort.h \ - ./shared/Bamg/OppositeAngle.h \ - ./shared/Bamg/shared.h \ - ./shared/Elements/elements.h \ - ./shared/Enum/Enum.h \ - ./shared/Enum/EnumDefinitions.h \ - ./shared/Exceptions/exceptions.h \ - ./shared/Exp/exp.h \ - ./shared/FSanalyticals/fsanalyticals.h \ - ./shared/LatLong/latlong.h \ - ./shared/Matrix/matrix.h \ - ./shared/MemOps/MemOps.h \ - ./shared/Numerics/constants.h \ - ./shared/Numerics/GaussPoints.h \ - ./shared/Numerics/isnan.h \ - ./shared/Numerics/numerics.h \ - ./shared/Numerics/OptPars.h \ - ./shared/Numerics/recast.h \ - ./shared/Numerics/types.h \ - ./shared/Numerics/Verbosity.h \ - ./shared/Random/random.h \ - ./shared/Random/randomgenerator.h \ - ./shared/Sorting/sorting.h \ - ./shared/String/sharedstring.h \ - ./shared/Threads/issm_threads.h \ - ./shared/Triangle/triangle.h \ - ./shared/io/io.h \ - ./shared/io/Comm/IssmComm.h \ - ./shared/io/Disk/diskio.h \ - ./shared/io/Marshalling/IoCodeConversions.h \ - ./shared/io/Marshalling/Marshalling.h \ - ./shared/io/Print/Print.h \ - ./solutionsequences/solutionsequences.h \ - ./toolkits/ToolkitOptions.h \ - ./toolkits/toolkits.h \ - ./toolkits/toolkitsenums.h \ - ./toolkits/adolc/AdolcEdf.h \ - ./toolkits/adolc/adolcincludes.h \ - ./toolkits/codipack/CoDiPackGlobal.h \ - ./toolkits/codipack/codipackincludes.h \ - ./toolkits/codipack/CoDiPackTypes.h \ - ./toolkits/gsl/gslincludes.h \ - ./toolkits/issm/Bucket.h \ - ./toolkits/issm/IssmAbsMat.h \ - ./toolkits/issm/IssmAbsVec.h \ - ./toolkits/issm/IssmDenseMat.h \ - ./toolkits/issm/IssmMat.h \ - ./toolkits/issm/IssmMpiDenseMat.h \ - ./toolkits/issm/IssmMpiSparseMat.h \ - ./toolkits/issm/IssmMpiVec.h \ - ./toolkits/issm/IssmSeqVec.h \ - ./toolkits/issm/IssmSolver.h \ - ./toolkits/issm/issmtoolkit.h \ - ./toolkits/issm/IssmToolkitUtils.h \ - ./toolkits/issm/IssmVec.h \ - ./toolkits/issm/SparseRow.h \ - ./toolkits/metis/metisincludes.h \ - ./toolkits/metis/patches/metispatches.h \ - ./toolkits/mpi/issmmpi.h \ - ./toolkits/mpi/commops/commops.h \ - ./toolkits/mumps/mumpsincludes.h \ - ./toolkits/objects/Matrix.h \ - ./toolkits/objects/Solver.h \ - ./toolkits/objects/toolkitobjects.h \ - ./toolkits/objects/Vector.h \ - ./toolkits/petsc/petscincludes.h \ - ./toolkits/petsc/objects/PetscMat.h \ - ./toolkits/petsc/objects/petscobjects.h \ - ./toolkits/petsc/objects/PetscSolver.h \ - ./toolkits/petsc/objects/PetscVec.h \ - ./toolkits/petsc/patches/petscpatches.h \ - ./toolkits/petsc/patches/SolverEnum.h \ - ./toolkits/triangle/triangleincludes.h From e444bd522a97ba26a50c2479c67b892e61c9de26 Mon Sep 17 00:00:00 2001 From: "Abele, Daniel" Date: Thu, 20 Mar 2025 21:45:48 +0100 Subject: [PATCH 4/4] test install headers in CI --- .github/workflows/common-workflow.yml | 11 +++++++++++ .github/workflows/ubuntu-basic.yml | 1 + .github/workflows/ubuntu-codipack.yml | 1 + .github/workflows/ubuntu-python.yml | 1 + 4 files changed, 14 insertions(+) diff --git a/.github/workflows/common-workflow.yml b/.github/workflows/common-workflow.yml index 6b34accf9..beae3d25b 100644 --- a/.github/workflows/common-workflow.yml +++ b/.github/workflows/common-workflow.yml @@ -128,6 +128,17 @@ jobs: working-directory: ${{ env.ISSM_DIR }} shell: 'bash' + - name: Check pkg-config + run: | + export PKG_CONFIG_PATH=${{ env.ISSM_DIR }}/lib/pkgconfig + incflags=$(pkg-config --print-errors --cflags-only-I ISSM) + echo $incflags + incdir=$(echo $incflags | awk '{ match($0, /-I(.*)/, m); print m[1]; }') + if [ -f "$incdir/classes/FemModel.h" ]; then + echo "ISSM pkg-config and headers found." + else + echo "ISSM pkg-config and headers not found." + fi - name: Get MATLAB if: ${{ inputs.interface == 'matlab' }} id: setup-matlab diff --git a/.github/workflows/ubuntu-basic.yml b/.github/workflows/ubuntu-basic.yml index b56e35d5c..d6fb2505f 100644 --- a/.github/workflows/ubuntu-basic.yml +++ b/.github/workflows/ubuntu-basic.yml @@ -22,6 +22,7 @@ jobs: --disable-static \ --enable-development \ --enable-debugging \ + --enable-install-headers \ --with-numthreads=4 \ --with-matlab-dir=$MATLAB_ROOT \ --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ diff --git a/.github/workflows/ubuntu-codipack.yml b/.github/workflows/ubuntu-codipack.yml index 3f1923598..b67e4750a 100644 --- a/.github/workflows/ubuntu-codipack.yml +++ b/.github/workflows/ubuntu-codipack.yml @@ -22,6 +22,7 @@ jobs: --enable-tape-alloc \ --enable-development \ --enable-debugging \ + --enable-install-headers \ --with-numthreads=4 \ --without-kriging \ --without-kml \ diff --git a/.github/workflows/ubuntu-python.yml b/.github/workflows/ubuntu-python.yml index b2133a778..8e886991b 100644 --- a/.github/workflows/ubuntu-python.yml +++ b/.github/workflows/ubuntu-python.yml @@ -25,6 +25,7 @@ jobs: --disable-static \ --enable-development \ --enable-debugging \ + --enable-install-headers \ --with-numthreads=4 \ --with-python-version=3.12 \ --with-python-dir=$PYTHON_ROOT \