Commit f5cf459f authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Refactoring Documentation/Examples/Matrices/LambdaMatrix/CMakeLists.txt.

parent 7e7a9e5d
Loading
Loading
Loading
Loading
+28 −86
Original line number Diff line number Diff line
ADD_EXECUTABLE( LambdaMatrixExample_Constructor LambdaMatrixExample_Constructor.cpp )
ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_Constructor >
                     ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_Constructor.out
                    OUTPUT LambdaMatrixExample_Constructor.out )

ADD_EXECUTABLE( LambdaMatrixExample_getCompressedRowLengths LambdaMatrixExample_getCompressedRowLengths.cpp )
ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_getCompressedRowLengths >
                     ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_getCompressedRowLengths.out
                    OUTPUT LambdaMatrixExample_getCompressedRowLengths.out )
set( COMMON_EXAMPLES
   LambdaMatrixExample_Constructor
   LambdaMatrixExample_getCompressedRowLengths
   LambdaMatrixExample_getNonzeroElementsCount
   LambdaMatrixExample_Laplace
   LambdaMatrixExample_Laplace_2
   LambdaMatrixExample_rowsReduction
   LambdaMatrixExample_allRowsReduction
   LambdaMatrixExample_forElements
   LambdaMatrixExample_forAllElements
   #LambdaMatrixExample_forRows
)

ADD_EXECUTABLE( LambdaMatrixExample_getNonzeroElementsCount LambdaMatrixExample_getNonzeroElementsCount.cpp )
ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_getNonzeroElementsCount >
                     ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_getNonzeroElementsCount.out
                    OUTPUT LambdaMatrixExample_getNonzeroElementsCount.out )
if( BUILD_CUDA )
   foreach( target IN ITEMS ${COMMON_EXAMPLES} )
      cuda_add_executable( ${target}-cuda ${target}.cu OPTIONS )
      add_custom_command( COMMAND ${target}-cuda > ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/${target}.out OUTPUT ${target}.out )
      set( CUDA_OUTPUTS ${CUDA_OUTPUTS} ${target}.out )
   endforeach()
else()
   foreach( target IN ITEMS ${COMMON_EXAMPLES} )
      add_executable( ${target} ${target}.cpp )
      add_custom_command( COMMAND ${target} > ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/${target}.out OUTPUT ${target}.out )
      set( HOST_OUTPUTS ${HOST_OUTPUTS} ${target}.out )
   endforeach()
endif()

IF( BUILD_CUDA )
   CUDA_ADD_EXECUTABLE( LambdaMatrixExample_Laplace_cuda LambdaMatrixExample_Laplace.cu )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_Laplace_cuda >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_Laplace.out
                     OUTPUT LambdaMatrixExample_Laplace.out )

   CUDA_ADD_EXECUTABLE( LambdaMatrixExample_Laplace_2_cuda LambdaMatrixExample_Laplace_2.cu )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_Laplace_2_cuda >
                       ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_Laplace_2.out
                       OUTPUT LambdaMatrixExample_Laplace_2.out )

                     CUDA_ADD_EXECUTABLE( LambdaMatrixExample_rowsReduction_cuda LambdaMatrixExample_rowsReduction.cu )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_rowsReduction_cuda >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_rowsReduction.out
                       OUTPUT LambdaMatrixExample_rowsReduction.out )

   CUDA_ADD_EXECUTABLE( LambdaMatrixExample_allRowsReduction_cuda LambdaMatrixExample_allRowsReduction.cu )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_allRowsReduction_cuda >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_allRowsReduction.out
                       OUTPUT LambdaMatrixExample_allRowsReduction.out )

   CUDA_ADD_EXECUTABLE( LambdaMatrixExample_forElements_cuda LambdaMatrixExample_forElements.cu )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_forElements_cuda >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_forElements.out
                       OUTPUT LambdaMatrixExample_forElements.out )

   CUDA_ADD_EXECUTABLE( LambdaMatrixExample_forAllElements_cuda LambdaMatrixExample_forAllElements.cu )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_forAllElements_cuda >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_forAllElements.out
                       OUTPUT LambdaMatrixExample_forAllElements.out )

   ADD_CUSTOM_TARGET( RunLambdaMatricesExamples-cuda ALL DEPENDS ${CUDA_OUTPUTS} )
ELSE()
   ADD_EXECUTABLE( LambdaMatrixExample_Laplace LambdaMatrixExample_Laplace.cpp )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_Laplace >
                       ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_Laplace.out
                       OUTPUT LambdaMatrixExample_Laplace.out )

   ADD_EXECUTABLE( LambdaMatrixExample_Laplace_2 LambdaMatrixExample_Laplace_2.cpp )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_Laplace_2 >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_Laplace_2.out
                        OUTPUT LambdaMatrixExample_Laplace_2.out )

   ADD_EXECUTABLE( LambdaMatrixExample_rowsReduction LambdaMatrixExample_rowsReduction.cpp )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_rowsReduction >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_rowsReduction.out
                       OUTPUT LambdaMatrixExample_rowsReduction.out )

   ADD_EXECUTABLE( LambdaMatrixExample_allRowsReduction LambdaMatrixExample_allRowsReduction.cpp )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_allRowsReduction >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_allRowsReduction.out
                       OUTPUT LambdaMatrixExample_allRowsReduction.out )

   ADD_EXECUTABLE( LambdaMatrixExample_forElements LambdaMatrixExample_forElements.cpp )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_forElements >
                       ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_forElements.out
                       OUTPUT LambdaMatrixExample_forElements.out )

   ADD_EXECUTABLE( LambdaMatrixExample_forAllElements LambdaMatrixExample_forAllElements.cpp )
   ADD_CUSTOM_COMMAND( COMMAND LambdaMatrixExample_forAllElements >
                        ${TNL_DOCUMENTATION_OUTPUT_SNIPPETS_PATH}/LambdaMatrixExample_forAllElements.out
                       OUTPUT LambdaMatrixExample_forAllElements.out )
   ADD_CUSTOM_TARGET( RunLambdaMatricesExamples ALL DEPENDS ${HOST_OUTPUTS} )
ENDIF()
 No newline at end of file

ADD_CUSTOM_TARGET( RunLambdaMatricesExamples ALL DEPENDS
   LambdaMatrixExample_Constructor.out
   LambdaMatrixExample_Laplace.out
   LambdaMatrixExample_Laplace_2.out
   LambdaMatrixExample_getCompressedRowLengths.out
   LambdaMatrixExample_getNonzeroElementsCount.out
   LambdaMatrixExample_rowsReduction.out
   LambdaMatrixExample_allRowsReduction.out
   LambdaMatrixExample_forElements.out
   LambdaMatrixExample_forAllElements.out
)