From 3706bd6a4a5c77770d305a4578cf854786da107c Mon Sep 17 00:00:00 2001
From: Mathias Wagner <mathiasw@nvidia.com>
Date: Thu, 14 Nov 2019 23:45:06 +0100
Subject: [PATCH] added notebook-splitter to CMake - still lacks output filter.

---
 4-GPU/HandsOn/.master/CMakeLists.txt          | 29 ++++++++++++++++++-
 .../HandsOn/.master/resources/CMakeLists.txt  | 12 ++++++++
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 4-GPU/HandsOn/.master/resources/CMakeLists.txt

diff --git a/4-GPU/HandsOn/.master/CMakeLists.txt b/4-GPU/HandsOn/.master/CMakeLists.txt
index 2c7ae54..3c01338 100644
--- a/4-GPU/HandsOn/.master/CMakeLists.txt
+++ b/4-GPU/HandsOn/.master/CMakeLists.txt
@@ -4,4 +4,31 @@ project(4-GPU)
 #install(TARGETS myapp DESTINATION bin)
 
 add_subdirectory(./C)
-add_subdirectory(./FORTRAN)
\ No newline at end of file
+add_subdirectory(./FORTRAN)
+add_subdirectory(./resources)
+
+
+add_custom_command(OUTPUT HandsOnGPUProgramming.ipynb 
+        COMMAND notebook-splitter --remove "solution" ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb --output HandsOnGPUProgramming.ipynb 
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb) 
+
+add_custom_command(OUTPUT HandsOnGPUProgramming_Solution.ipynb 
+        COMMAND notebook-splitter --remove "task" ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb --output HandsOnGPUProgramming_Solution.ipynb 
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb) 
+
+add_custom_target(notebook_task DEPENDS HandsOnGPUProgramming.ipynb)
+add_custom_target(notebook_solution DEPENDS HandsOnGPUProgramming_Solution.ipynb)
+add_custom_target(notebook ALL DEPENDS notebook_solution notebook_task)
+
+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})
+
+set(TASK_FILES ${CMAKE_CURRENT_BINARY_DIR}/HandsOnGPUProgramming.ipynb)
+set(SOLUTION_FILES ${CMAKE_CURRENT_BINARY_DIR}/HandsOnGPUProgramming_Solution.ipynb)
+
+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/resources/CMakeLists.txt b/4-GPU/HandsOn/.master/resources/CMakeLists.txt
new file mode 100644
index 0000000..0ac0ad6
--- /dev/null
+++ b/4-GPU/HandsOn/.master/resources/CMakeLists.txt
@@ -0,0 +1,12 @@
+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})
+
+set(TASK_FILES eval.png)
+set(SOLUTION_FILES ${TASK_FILES} Solution3.png Solution4.png Solution5.png Solution6.png)
+
+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