Skip to content
Snippets Groups Projects
Commit a82afc32 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Merge branch 'cmake_recursive_install' into 'develop'

CMake: simplified installation of header files

See merge request !28
parents 3ccd432b f8cb70c6
No related branches found
No related tags found
1 merge request!28CMake: simplified installation of header files
Showing
with 8 additions and 304 deletions
ADD_SUBDIRECTORY( TNL )
INSTALL( DIRECTORY TNL/ DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}
MESSAGE_NEVER
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" )
# TODO: TNL/Experimental/ should be moved somewhere else, the TNL subdirectory
# should contain only header files
add_subdirectory( TNL/Experimental )
# Note that it is important to start building examples as soon as possible,
# because they take the longest time and other stuff can be pipelined before
......
ADD_SUBDIRECTORY( Config )
ADD_SUBDIRECTORY( Containers )
ADD_SUBDIRECTORY( Communicators )
ADD_SUBDIRECTORY( Debugging )
ADD_SUBDIRECTORY( Devices )
ADD_SUBDIRECTORY( Exceptions )
ADD_SUBDIRECTORY( Experimental )
ADD_SUBDIRECTORY( Functions )
ADD_SUBDIRECTORY( Images )
ADD_SUBDIRECTORY( Matrices )
ADD_SUBDIRECTORY( Meshes )
ADD_SUBDIRECTORY( Operators )
ADD_SUBDIRECTORY( Pointers )
ADD_SUBDIRECTORY( Problems )
ADD_SUBDIRECTORY( Solvers )
set( headers
Atomic.h
Assert.h
CudaSharedMemory.h
CudaStreamPool.h
File.h
File_impl.h
FileName.h
FileName.hpp
Object.h
Object_impl.h
Logger.h
Logger_impl.h
Math.h
ParallelFor.h
param-types.h
StaticFor.h
String.h
String_impl.h
Timer.h
Timer_impl.h
StaticVectorFor.h )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY} )
SET( headers MpiCommunicator.h
MpiDefs.h
MPIPrint.h
MPITypeResolver.h
NoDistrCommunicator.h
ScopedInitializer.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Communicators )
SET( headers
ConfigEntryType.h
ConfigEntryBase.h
ConfigEntry.h
ConfigEntryList.h
ConfigDelimiter.h
ConfigDescription.h
make_unique.h
ParameterContainer.h
parseCommandLine.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Config )
set( headers ArrayIO.h
ArrayOperations.h
ArrayOperationsHost_impl.h
ArrayOperationsCuda_impl.h
ArrayOperationsMIC_impl.h
cuda-prefix-sum.h
cuda-prefix-sum_impl.h
CudaMultireductionKernel.h
CudaReductionBuffer.h
CudaReductionKernel.h
Multireduction.h
Multireduction_impl.h
Reduction.h
Reduction_impl.h
ReductionOperations.h
VectorOperations.h
VectorOperationsHost_impl.h
VectorOperationsCuda_impl.h
VectorOperationsMIC_impl.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers/Algorithms )
ADD_SUBDIRECTORY( Algorithms )
ADD_SUBDIRECTORY( Multimaps )
set( headers Array.h
Array_impl.h
ArrayView.h
ArrayView_impl.h
Vector.h
Vector_impl.h
VectorView.h
VectorView_impl.h
StaticArray.h
StaticArray_impl.h
StaticArray1D_impl.h
StaticArray2D_impl.h
StaticArray3D_impl.h
StaticVector.h
StaticVector_impl.h
StaticVector1D_impl.h
StaticVector2D_impl.h
StaticVector3D_impl.h
DistributedArray.h
DistributedArray_impl.h
DistributedArrayView.h
DistributedArrayView_impl.h
DistributedVector.h
DistributedVector_impl.h
DistributedVectorView.h
DistributedVectorView_impl.h
Partitioner.h
Subrange.h
IndexedMap.h
IndexedMap_impl.h
IndexedSet.h
IndexedSet_impl.h
UnorderedIndexedSet.h
UnorderedIndexedSet_impl.h
List.h
List_impl.h
MultiArray.h
MultiArray1D_impl.h
MultiArray2D_impl.h
MultiArray3D_impl.h
MultiArray4D_impl.h
MultiVector.h
MultiVector1D_impl.h
MultiVector2D_impl.h
MultiVector3D_impl.h
MultiVector4D_impl.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers )
SET( headers EllpackIndexMultimap.h
EllpackIndexMultimap_impl.h
EllpackIndexMultimapValues.h
EllpackIndexMultimapValues_impl.h
StaticEllpackIndexMultimap.h
StaticEllpackIndexMultimap_impl.h
StaticEllpackIndexMultimapValues.h
StaticEllpackIndexMultimapValues_impl.h
MultimapPermutationApplier.h )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers/Multimaps )
SET( headers
FPE.h
MemoryUsage.h
StackBacktrace.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Debugging )
set (headers Cuda.h
Cuda_impl.h
CudaCallable.h
CudaDeviceInfo.h
CudaDeviceInfo_impl.h
Host.h
MIC.h
SystemInfo.h
SystemInfo_impl.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Devices )
SET( headers CudaBadAlloc.h
CudaRuntimeError.h
CudaSupportMissing.h
FileDeserializationError.h
FileSerializationError.h
MICBadAlloc.h
MICSupportMissing.h
MPIDimsCreateError.h
MPISupportMissing.h )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Exceptions )
ADD_SUBDIRECTORY( UnitTests )
set( headers FlopsCounter.h
Quad.h # Modified by D. Simon
Quad_impl.h # Modified by D. Simon
Real.h
MultiPrecision.h #Added by D. Simon
#Double.h #Added by D. Simon
#Double_impl.h #Added by D. Simon
)
SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Experimental/Arithmetics )
set( tnl_experimental_arithmetics_SOURCES
${CURRENT_DIR}/FlopsCounter.cpp
${CURRENT_DIR}/MultiPrecision.cpp #Added by D.Simon
)
set( tnl_experimental_arithmetics_CUDA__SOURCES )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Experimental/Arithmetics )
ADD_SUBDIRECTORY( Operators )
ADD_SUBDIRECTORY( Solvers )
ADD_SUBDIRECTORY( Hamilton-Jacobi )
ADD_SUBDIRECTORY( Godunov )
ADD_SUBDIRECTORY( Godunov-Eikonal )
set( headers godunov.h
godunov1D_impl.h
godunov2D_impl.h
godunov3D_impl.h)
SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/implementation/operators/godunov )
if( BUILD_CUDA)
set( tnl_implementation_operators_godunov_CUDA__SOURCES
${common_SOURCES}
PARENT_SCOPE )
endif()
set( tnl_implementation_operators_godunov_SOURCES
${common_SOURCES}
PARENT_SCOPE )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Operators/Godunov/ )
set( headers godunovEikonal.h
parallelGodunovEikonal.h
parallelGodunovMap.h
godunovEikonal1D_impl.h
godunovEikonal2D_impl.h
godunovEikonal3D_impl.h
parallelGodunovEikonal1D_impl.h
parallelGodunovEikonal2D_impl.h
parallelGodunovEikonal3D_impl.h
parallelGodunovMap2D_impl.h)
SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/implementation/operators/godunov-eikonal )
if( BUILD_CUDA)
set( tnl_implementation_operators_godunov-eikonal_CUDA__SOURCES
${common_SOURCES}
PARENT_SCOPE )
endif()
set( tnl_implementation_operators_godunov-eikonal_SOURCES
${common_SOURCES}
PARENT_SCOPE )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Operators/Godunov-Eikonal/ )
set( headers godunov1D_impl.h
godunov2D_impl.h
godunov3D_impl.h)
SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/implementation/operators/godunov )
if( BUILD_CUDA)
set( tnl_implementation_operators_godunov_CUDA__SOURCES
${common_SOURCES}
PARENT_SCOPE )
endif()
set( tnl_implementation_operators_godunov_SOURCES
${common_SOURCES}
PARENT_SCOPE )
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Operators/Godunov/ )
ADD_SUBDIRECTORY( hamilton-jacobi )
set( tnl_hamilton_jacobi_SOURCES
hamiltonJacobiProblemSetter.h
hamiltonJacobiProblemSetter_impl.h
hamiltonJacobiProblemSolver.h
hamiltonJacobiProblemSolver_impl.h
main.cpp
hamiltonJacobiProblemConfig.h
tnl-direct-eikonal-solver.h )
#ADD_EXECUTABLE(tnl-hamilton-jacobi main.cpp)
IF( BUILD_CUDA )
CUDA_ADD_EXECUTABLE(tnl-direct-eikonal-solver tnl-direct-eikonal-solver.cu )
ELSE( BUILD_CUDA )
ELSE( BUILD_CUDA )
ADD_EXECUTABLE(tnl-direct-eikonal-solver tnl-direct-eikonal-solver.cpp )
ENDIF( BUILD_CUDA )
......@@ -20,4 +11,3 @@ INSTALL( TARGETS #tnl-hamilton-jacobi
tnl-direct-eikonal-solver
RUNTIME DESTINATION bin
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
SET( headers Blob.h
Blob_impl.h
Constant.h
Constant_impl.h
Cylinder.h
Cylinder_impl.h
ExpBump.h
ExpBump_impl.h
Flowerpot.h
Flowerpot_impl.h
Paraboloid.h
Paraboloid_impl.h
ParaboloidSDF.h
ParaboloidSDF_impl.h
PseudoSquare.h
PseudoSquare_impl.h
SinBumps.h
SinBumps_impl.h
SinBumpsSDF.h
SinBumpsSDF_impl.h
SinWave.h
SinWave_impl.h
SinWaveSDF.h
SinWaveSDF_impl.h
Twins.h
Twins_impl.h
)
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Functions/Analytic )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment