get_filename_component(CURRENT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
message(STATUS "current target ${CURRENT_NAME}")
option(ENABLE_${CURRENT_NAME} "enable the cuda example ${CURRENT_NAME}" ${ENABLE_lab7c})
if(NOT ENABLE_${CURRENT_NAME})
	message(STATUS "skipping ${CURRENT_NAME}")
	return()
endif()

resolve_files()
file(GLOB CURRENT_CU_SOURCES *.cu)
file(GLOB CURRENT_CU_HEADERS *.cuh)
set(CURRENT_CU_FILES ${CURRENT_CU_SOURCES} ${CURRENT_CU_HEADERS})
list(APPEND CURRENT_FILES ${CURRENT_CU_FILES})
source_group("CU-Files" FILES ${CURRENT_CU_FILES})
set(CURRENT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR})
group_files()

include_directories(${CURRENT_INCLUDE_DIRS})

find_internal_package(common)
use_package(common)

find_package(CUDA 2.3 REQUIRED)
find_binary_dirs(CUDA)
use_package(CUDA)

find_package(GLUT REQUIRED)
find_binary_dirs(GLUT)
use_package(GLUT)

CUDA_WRAP_SRCS(${CURRENT_NAME} OBJ CURRENT_GENERATED_FILES ${CURRENT_FILES})
source_group("Generated-Files" FILES ${CURRENT_GENERATED_FILES})
list(APPEND CURRENT_FILES ${CURRENT_GENERATED_FILES})

create_executable()

target_use_package(GLUT)
target_use_package(common)
target_use_package(CUDA)

add_launcher()

package_exercise()
