From 22b0f316d4462886ea9385edf56eefa628fb10b1 Mon Sep 17 00:00:00 2001
From: Mathias Wagner <mathiasw@nvidia.com>
Date: Thu, 14 Nov 2019 21:25:02 +0100
Subject: [PATCH] added some CMake infrastructure to populate Handout and
 Solution from master

---
 4-GPU/HandsOn/.master/C/CMakeLists.txt          |  7 +++++++
 4-GPU/HandsOn/.master/C/task0/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/C/task1/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/C/task2/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/C/task3/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/C/task4/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/C/task5/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/C/task6/CMakeLists.txt    | 17 +++++++++++++++++
 4-GPU/HandsOn/.master/CMakeLists.txt            |  7 +++++++
 4-GPU/HandsOn/.master/FORTRAN/CMakeLists.txt    |  4 ++++
 .../.master/FORTRAN/task0/CMakeLists.txt        | 17 +++++++++++++++++
 .../.master/FORTRAN/task1/CMakeLists.txt        | 17 +++++++++++++++++
 .../.master/FORTRAN/task2/CMakeLists.txt        | 17 +++++++++++++++++
 .../.master/FORTRAN/task3/CMakeLists.txt        | 17 +++++++++++++++++
 14 files changed, 205 insertions(+)
 create mode 100644 4-GPU/HandsOn/.master/C/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task0/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task1/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task2/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task3/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task4/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task5/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/C/task6/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/FORTRAN/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/FORTRAN/task0/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/FORTRAN/task1/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/FORTRAN/task2/CMakeLists.txt
 create mode 100644 4-GPU/HandsOn/.master/FORTRAN/task3/CMakeLists.txt

diff --git a/4-GPU/HandsOn/.master/C/CMakeLists.txt b/4-GPU/HandsOn/.master/C/CMakeLists.txt
new file mode 100644
index 0000000..7bbec14
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/CMakeLists.txt
@@ -0,0 +1,7 @@
+add_subdirectory(./task0/)
+add_subdirectory(./task1/)
+add_subdirectory(./task2/)
+add_subdirectory(./task3/)
+add_subdirectory(./task4/)
+add_subdirectory(./task5/)
+add_subdirectory(./task6/)
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task0/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task0/CMakeLists.txt
new file mode 100644
index 0000000..1302561
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task0/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c poisson2d.solution.pgprof)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task1/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task1/CMakeLists.txt
new file mode 100644
index 0000000..a620e70
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task1/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task2/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task2/CMakeLists.txt
new file mode 100644
index 0000000..a620e70
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task2/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task3/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task3/CMakeLists.txt
new file mode 100644
index 0000000..a620e70
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task3/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task4/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task4/CMakeLists.txt
new file mode 100644
index 0000000..a620e70
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task4/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task5/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task5/CMakeLists.txt
new file mode 100644
index 0000000..a620e70
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task5/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/C/task6/CMakeLists.txt b/4-GPU/HandsOn/.master/C/task6/CMakeLists.txt
new file mode 100644
index 0000000..a620e70
--- /dev/null
+++ b/4-GPU/HandsOn/.master/C/task6/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile common.h poisson2d_serial.c poisson2d.c)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.c pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/CMakeLists.txt b/4-GPU/HandsOn/.master/CMakeLists.txt
new file mode 100644
index 0000000..2c7ae54
--- /dev/null
+++ b/4-GPU/HandsOn/.master/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.15)
+project(4-GPU)
+#add_executable(myapp main.c)
+#install(TARGETS myapp DESTINATION bin)
+
+add_subdirectory(./C)
+add_subdirectory(./FORTRAN)
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/FORTRAN/CMakeLists.txt b/4-GPU/HandsOn/.master/FORTRAN/CMakeLists.txt
new file mode 100644
index 0000000..c7e424a
--- /dev/null
+++ b/4-GPU/HandsOn/.master/FORTRAN/CMakeLists.txt
@@ -0,0 +1,4 @@
+add_subdirectory(./task0/)
+add_subdirectory(./task1/)
+add_subdirectory(./task2/)
+add_subdirectory(./task3/)
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/FORTRAN/task0/CMakeLists.txt b/4-GPU/HandsOn/.master/FORTRAN/task0/CMakeLists.txt
new file mode 100644
index 0000000..49928a9
--- /dev/null
+++ b/4-GPU/HandsOn/.master/FORTRAN/task0/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile poisson2d_serial.F03 poisson2d.F03)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.F03 poisson2d.solution.pgprof)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/FORTRAN/task1/CMakeLists.txt b/4-GPU/HandsOn/.master/FORTRAN/task1/CMakeLists.txt
new file mode 100644
index 0000000..ebc37a1
--- /dev/null
+++ b/4-GPU/HandsOn/.master/FORTRAN/task1/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile poisson2d_serial.F03 poisson2d.F03)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.F03 pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/FORTRAN/task2/CMakeLists.txt b/4-GPU/HandsOn/.master/FORTRAN/task2/CMakeLists.txt
new file mode 100644
index 0000000..ebc37a1
--- /dev/null
+++ b/4-GPU/HandsOn/.master/FORTRAN/task2/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile poisson2d_serial.F03 poisson2d.F03)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.F03 pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/FORTRAN/task3/CMakeLists.txt b/4-GPU/HandsOn/.master/FORTRAN/task3/CMakeLists.txt
new file mode 100644
index 0000000..ebc37a1
--- /dev/null
+++ b/4-GPU/HandsOn/.master/FORTRAN/task3/CMakeLists.txt
@@ -0,0 +1,17 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+string(REGEX MATCH "task[0-9]" TASK ${CMAKE_CURRENT_SOURCE_DIR})
+string(SUBSTRING ${TASK} 4 -1 TASK)
+
+
+
+set(TASK_FILES Makefile poisson2d_serial.F03 poisson2d.F03)
+set(SOLUTION_FILES ${TASK_FILES} poisson2d.solution.F03 pgprof.poisson2d.Task${TASK}.solution.tar.gz)
+
+message(VERBOSE "CURRENT TASK ${TASK}")
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
-- 
GitLab