set( PROJECT_NAME Stereogram )

cmake_minimum_required( VERSION 2.8 )
project( ${PROJECT_NAME} )


# Add GLEW library.
add_subdirectory( "${PROJECT_SOURCE_DIR}/../ThirdParty/GLEW" "${CMAKE_CURRENT_BINARY_DIR}/GLEW" )
include_directories( "${PROJECT_SOURCE_DIR}/../ThirdParty/GLEW/glew-1.10.0/include" )

# Add GLM library.
# No need to "build" it, it's a header-only library.
#add_subdirectory( "${PROJECT_SOURCE_DIR}/../ThirdParty/GLM/glm" "${CMAKE_CURRENT_BINARY_DIR}/GLM" )
include_directories( "${PROJECT_SOURCE_DIR}/../ThirdParty/GLM/glm" )

# Add GLFW library.
set( BUILD_SHARED_LIBS   OFF CACHE BOOL "Build shared libraries"          )
set( GLFW_BUILD_EXAMPLES OFF CACHE BOOL "Build the GLFW example programs" )
set( GLFW_BUILD_TESTS    OFF CACHE BOOL "Build the GLFW test programs"    )
set( GLFW_INSTALL        OFF CACHE BOOL "Generate installation target"    )

add_subdirectory( "${PROJECT_SOURCE_DIR}/../ThirdParty/GLFW/glfw-3.0.3" "${CMAKE_CURRENT_BINARY_DIR}/GLFW" )
include_directories( "${PROJECT_SOURCE_DIR}/../ThirdParty/GLFW/glfw-3.0.3/include" )

# Add OpenCL support.
set( CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/../ThirdParty/OpenCL/cmake" )
find_package( OpenCL REQUIRED )
include_directories( ${OPENCL_INCLUDE_DIR} )


# Add the files from the project.
file (GLOB_RECURSE exec_files "*.cpp" "*.h")


# Link everything.
add_executable (${PROJECT_NAME} ${exec_files})
target_link_libraries (${PROJECT_NAME}
  GLEW
  glfw ${GLFW_LIBRARIES}
  ${OPENCL_LIBRARY}
  )
