cmake_minimum_required(VERSION 3.0)
project(Reassembly2)
set (CMAKE_CXX_STANDARD 11)
include(ExternalProject)

#For YCM (YouCompleteME)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)

#Modified FindSDL2
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${Reassembly2_SOURCE_DIR}/cmake")

MESSAGE( STATUS "PROJECT_SOURCE_DIR: " ${PROJECT_SOURCE_DIR} )

set(Reassembly2_BUILD_DIR "${Reassembly2}/build")

find_package(SDL2 REQUIRED)
find_package(SDL2_image REQUIRED)
MESSAGE( STATUS "SDL2_LIBRARY: " ${SDL2_LIBRARY} )
MESSAGE( STATUS "SDL2_INCLUDE_DIR: " ${SDL2_INCLUDE_DIR} )

MESSAGE( STATUS "SDL2IMAGE_LIBRARY: " ${SDL2IMAGE_LIBRARY})
MESSAGE( STATUS "SDL2IMAGE_INCLUDE_DIR: " ${SDL2IMAGE_INCLUDE_DIR})

find_package(GLEW REQUIRED)
MESSAGE( STATUS "GLEW_LIBRARY: " ${GLEW_LIBRARY})
MESSAGE( STATUS "GLEW_INLCUDE_DIR: " ${GLEW_INLCUDE_DIR})

find_package(OpenGL REQUIRED)
MESSAGE( STATUS "OPENGL_LIBRARY: " ${OPENGL_LIBRARY})
MESSAGE( STATUS "OPENGL_INCLUDE_DIR: " ${OPENGL_INCLUDE_DIR})

find_package(Freetype REQUIRED)
MESSAGE( STATUS "FREETYPE_LIBRARY: " ${FREETYPE_LIBRARY})
MESSAGE( STATUS "FREETYPE_INCLUDE_DIR: " ${FREETYPE_INCLUDE_DIR})
set(FREETYPE_INCLUDE_DIR "/usr/include/freetype2")
MESSAGE( STATUS "Override FREETYPE_INCLUDE_DIR: " ${FREETYPE_INCLUDE_DIR})

find_package(GLM REQUIRED)
MESSAGE( STATUS "GLM_INCLUDE_DIR: " ${GLM_INCLUDE_DIR})

include_directories(${SDL2_INCLUDE_DIR} ${SDL2IMAGE_INCLUDE_DIR}
	${GLEW_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIR}
	${GLM_INCLUDE_DIR} )
file(GLOB_RECURSE Reassembly2_SOURCE_FILES ${Reassembly2_SOURCE_DIR}/src/*.cpp)
add_executable(Reassembly2 ${Reassembly2_SOURCE_FILES})
target_link_libraries(Reassembly2 ${SDL2_LIBRARY} ${SDL2IMAGE_LIBRARY}
	${GLEW_LIBRARY} ${OPENGL_LIBRARY} ${FREETYPE_LIBRARY})
