# CMakeList.txt : CMake project for YuppleMayham, include source and define
# project specific logic here.
#

find_package(SDL2 REQUIRED)
find_package(SDL2_IMAGE REQUIRED)

include_directories(SYSTEM "${PROJECT_SOURCE_DIR}/YuppleMayham/include")
include_directories(SYSTEM "c:/sdks/glad/include")
include_directories(SYSTEM "c:/sdks/tinyxml2-10.0.0/debug/include")
include_directories(SYSTEM "c:/sdks/glm")
include_directories(SYSTEM "C:/sdks/sol2-3.3.0/single/single/include")
include_directories(SYSTEM "c:/sdks/lua-5.4.6/include")
include_directories(SYSTEM "C:/sdks/freetype-2.13.2/include")
link_directories(SYSTEM "C:/sdks/freetype-2.13.2/objs")
link_directories(SYSTEM "c:/sdks/tinyxml2-10.0.0/debug/lib")
link_directories(SYSTEM "c:/sdks/lua-5.4.6/lib")

include_directories("${PROJECT_SOURCE_DIR}/YuppleMayham/include")

# Add source to this project's executable.
add_executable (YuppleMayham  
	"src/main.cpp" 
	"c:/sdks/glad/src/glad.c" 
	"src/graphics/sprite.cpp" 
	"src/graphics/mesh.cpp" 
	"src/gameplay/entity.cpp" 
	"src/gameplay/gameactor.cpp" 
	"src/graphics/shader.cpp" 
	"src/util.cpp" 
	"src/gameplay/camera.cpp"  
	"src/utility/command.cpp" 
	"src/gameplay/input.cpp" 
	"src/gameplay/weapons/bullet.cpp"  
	"src/gameplay/weapons/bulletmanager.cpp" 
	"src/gameplay/scene.cpp" 
	"src/graphics/texture.cpp" 
	"src/graphics/tile.cpp" 
	"src/utility/resourcemanager.cpp" 
	"src/utility/xmlloader.cpp" 
	"src/gameplay/game.cpp" 
	"src/graphics/instancedraw.cpp" 
	"src/gameplay/map.cpp" 
	"src/gameplay/weapons/weapon.cpp"  
	"src/gameplay/physics.cpp" 
	"src/utility/debugdraw.cpp" 
	"src/utility/script.cpp" 
	"src/gameplay/ai.cpp" 
	"src/utility/ftfont.cpp" 
	"include/graphics/glwindow.h" 
	"include/gameplay/camera.h" 
	"include/utility/mousestate.h" 
	"include/gameplay/weapons/bulletmanager.h" 
	"include/gameplay/scene.h" 
	"include/graphics/tile.h"  
	"include/graphics/texture.h" 
	"include/graphics/tiletype.h" 
	"include/utility/resourcemanager.h" 
	"include/utility/xmlloader.h" 
	"include/gameplay/game.h" 
	"include/gameplay/map.h" 
	"include/gameplay/physics.h" 
	"include/utility/events.h" 
	"include/utility/debugdraw.h" 
	"include/utility/script.h" 
	"include/gameplay/ai.h" 
	"include/utility/raycaster.h" 
	"include/utility/ftfont.h" 
	"include/utility/direction.h"
 "include/graphics/animation.h" "src/graphics/animation.cpp")

add_custom_command(TARGET YuppleMayham PRE_BUILD COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Resources/ $<TARGET_FILE_DIR:YuppleMayham>)

if (CMAKE_VERSION VERSION_GREATER 3.12)
  set_property(TARGET YuppleMayham PROPERTY CXX_STANDARD 20)
endif()

target_link_libraries(YuppleMayham SDL2::SDL2main SDL2::SDL2 SDL2_image::SDL2_image tinyxml2 lua_static freetype)

# TODO: Add tests and install targets if needed.
