set(CMAKE_INCLUDE_CURRENT_DIRS ON)

find_package(OpenGL REQUIRED)
find_package(epoxy REQUIRED)
find_package(X11 REQUIRED)
find_package(assimp REQUIRED)

set(GAME_SRC
    main.cpp
    opengl.cpp
    glclasses.cpp
    game_window.cpp
    renderer.cpp
    renderer_polygon_2d/renderer_polygon_2d.cpp
    renderer_polygon_3d/renderer_polygon_3d.cpp
    renderer_polygon_3d/polygon_model.cpp
    renderer_polygon_3d/particle_batch.cpp
    renderer_ray_tracer/renderer_ray_tracer.cpp

    network/session.cpp

    util.cpp
    game.cpp

    state/object.cpp
    state/explosion.cpp
    state/trace.cpp
    state/state.cpp
    state/player.cpp
    state/planet.cpp
    state/missile.cpp
    state/commands.cpp
    state/state.cpp
)

include_directories(${CMAKE_CURRENT_BINARY_DIR})
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
include_directories(${OPENGL_INCLUDE_DIR})
include_directories(${CMAKE_SOURCE_DIR}/libs/glm/)
include_directories(${CMAKE_SOURCE_DIR}/libs/asio/asio/include/)
include_directories(${assimp_INCLUDE_DIRS})

add_executable(game ${GAME_SRC})
setup_target(game)

target_link_libraries(game X11 epoxy pthread ${assimp_LIBRARIES} assimp)
