cmake_minimum_required(VERSION 3.4)
project ("Fractal")

# Find FreeImage is not part of cmake by default, use third party script
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})

find_package(OpenGL REQUIRED)
find_package(GLEW REQUIRED)
find_package(SDL2 REQUIRED)
find_package(FreeImage REQUIRED)

# Add all "*.cpp" files in the root directory
file(GLOB SOURCES "*.cpp")
add_executable(fractal ${SOURCES})

include_directories(${FREEIMAGE_INCLUDE_DIRS})
include_directories(${GLEW_INCLUDE_DIRS})
include_directories(${OPENGL_INCLUDE_DIRS})
include_directories(${SDL2_INCLUDE_DIRS})

# Strip trailing whitespace which is not allowed anymore
string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES)

target_link_libraries(fractal ${SDL2_LIBRARIES})
target_link_libraries(fractal ${GLEW_LIBRARIES})
target_link_libraries(fractal ${OPENGL_LIBRARIES})
target_link_libraries(fractal ${FREEIMAGE_LIBRARIES})

target_compile_features(fractal PRIVATE cxx_range_for)# C++11 support