Commit b0c3a917 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Cmake: skip *_impl.{cpp,cu} completely when explicit template instantiation is disabled

parent 18e25fcc
Loading
Loading
Loading
Loading
+45 −42
Original line number Diff line number Diff line
if( ${WITH_TEMPLATES_INSTANTIATION} )

   SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Containers/Algorithms/TemplateExplicitInstantiation )
   set( common_SOURCES
        ${CURRENT_DIR}/VectorOperationsHost_impl.cpp
@@ -43,3 +45,4 @@ set( tnl_core_cuda_SOURCES
        ${common_SOURCES}
        ${CURRENT_DIR}/cuda-reduction_impl.cpp
        PARENT_SCOPE )
endif()
+25 −26
Original line number Diff line number Diff line
@@ -39,32 +39,31 @@ set( headers Array.h
             StaticVector2D_impl.h
             StaticVector3D_impl.h  )

INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers )

if( ${WITH_TEMPLATES_INSTANTIATION} )
   SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Containers )
   set( common_SOURCES
     ${CURRENT_DIR}/SharedArray_impl.cpp
        ${CURRENT_DIR}/MultiArray_impl.cpp
        ${CURRENT_DIR}/Array_impl.cpp
        ${CURRENT_DIR}/StaticArray_impl.cpp
        ${CURRENT_DIR}/MultiVector_impl.cpp
     ${CURRENT_DIR}/SharedVector_impl.cpp
        ${CURRENT_DIR}/Vector_impl.cpp
        ${CURRENT_DIR}/StaticVector_impl.cpp
   )

IF( BUILD_CUDA )
   if( BUILD_CUDA )
      set( tnl_containers_CUDA__SOURCES
           ${common_SOURCES}
           ${CURRENT_DIR}/Array_impl.cu
        ${CURRENT_DIR}/SharedArray_impl.cu
           ${CURRENT_DIR}/MultiArray_impl.cu
           ${CURRENT_DIR}/StaticArray_impl.cu
           ${CURRENT_DIR}/Vector_impl.cu
           ${CURRENT_DIR}/StaticVector_impl.cu
           PARENT_SCOPE )
ENDIF()
   endif()

   set( tnl_containers_SOURCES
        ${common_SOURCES}
        PARENT_SCOPE )

INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Containers )
endif()
+19 −18
Original line number Diff line number Diff line
@@ -21,6 +21,9 @@ SET( headers BICGStab.h
             UmfpackWrapper_impl.h
   )

INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Solvers/Linear )

if( ${WITH_TEMPLATES_INSTANTIATION} )
   SET( CURRENT_DIR ${CMAKE_SOURCE_DIR}/src/TNL/Solvers/Linear )

   set( common_SOURCES ${CURRENT_DIR}/GMRES_impl.cpp
@@ -41,6 +44,4 @@ if( BUILD_CUDA)
           ${common_SOURCES}
           PARENT_SCOPE )
   endif()

   
INSTALL( FILES ${headers} DESTINATION ${TNL_TARGET_INCLUDE_DIRECTORY}/Solvers/Linear )
endif()