111
This commit is contained in:
+39
-118
@@ -6,96 +6,50 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
option(USE_FRAMEBUFFER "Use Linux framebuffer instead of SDL2" OFF)
|
||||
|
||||
<<<<<<< HEAD
|
||||
set(ENGINE_SOURCES
|
||||
src/Asset/ObjLoader.cpp
|
||||
src/Asset/SpriteAssetLoader.cpp
|
||||
src/Core/DepthBuffer.cpp
|
||||
src/Core/FrameBuffer.cpp
|
||||
src/Core/Renderer.cpp
|
||||
game/src/app/TomGameApp.cpp
|
||||
game/src/components/SpriteAnimator.cpp
|
||||
game/src/audio/VoiceEffect.cpp
|
||||
game/src/audio/VoicePlayer.cpp
|
||||
game/src/audio/VoiceRecorder.cpp
|
||||
game/src/hardware/AudioInput.cpp
|
||||
game/src/hardware/AudioOutput.cpp
|
||||
game/src/hardware/ButtonInput.cpp
|
||||
game/src/systems/AnimationSystem.cpp
|
||||
src/Rasterizer/Rasterizer.cpp
|
||||
src/Rasterizer/SpriteRasterizer.cpp
|
||||
src/Rasterizer/TriangleRasterizer.cpp
|
||||
src/Scene/Camera.cpp
|
||||
src/Shading/BlinnPhongShader.cpp
|
||||
=======
|
||||
set(SOURCES
|
||||
src/Apps/Demo/main.cpp
|
||||
src/Gfx/Asset/ObjLoader.cpp
|
||||
src/Gfx/Core/DepthBuffer.cpp
|
||||
src/Gfx/Core/FrameBuffer.cpp
|
||||
src/Gfx/Core/Renderer.cpp
|
||||
src/Gfx/Draw2D/DrawContext.cpp
|
||||
src/Gfx/Rasterizer/Rasterizer.cpp
|
||||
src/Gfx/Rasterizer/TriangleRasterizer.cpp
|
||||
src/Gfx/Scene/Camera.cpp
|
||||
src/Gfx/Shading/BlinnPhongShader.cpp
|
||||
>>>>>>> 777ff96602c52c86f03d612bb4213de746f580a5
|
||||
set(CORE_SOURCES
|
||||
src/Core/Asset/ObjLoader.cpp
|
||||
src/Core/Asset/SpriteAssetLoader.cpp
|
||||
src/Core/Core/DepthBuffer.cpp
|
||||
src/Core/Core/FrameBuffer.cpp
|
||||
src/Core/Core/Renderer.cpp
|
||||
src/Core/Draw2D/DrawContext.cpp
|
||||
src/Core/Rasterizer/Rasterizer.cpp
|
||||
src/Core/Rasterizer/TriangleRasterizer.cpp
|
||||
src/Core/Scene/Camera.cpp
|
||||
src/Core/Shading/BlinnPhongShader.cpp
|
||||
)
|
||||
|
||||
set(ENGINE_INCLUDE_DIRS
|
||||
src/Platform
|
||||
src/Asset
|
||||
src/Core
|
||||
src/Math
|
||||
src/Rasterizer
|
||||
src/RenderData
|
||||
src/Scene
|
||||
src/Shading
|
||||
game/src/app
|
||||
game/src/audio
|
||||
game/src/components
|
||||
game/src/hardware
|
||||
game/src/systems
|
||||
set(CORE_INCLUDE_DIRS
|
||||
src/Core/Platform
|
||||
src/Core/Asset
|
||||
src/Core/Core
|
||||
src/Core/Draw2D
|
||||
src/Core/Math
|
||||
src/Core/Rasterizer
|
||||
src/Core/RenderData
|
||||
src/Core/Scene
|
||||
src/Core/Shading
|
||||
assets/font
|
||||
assets/sprite
|
||||
)
|
||||
|
||||
set(SOURCES
|
||||
src/main.cpp
|
||||
${ENGINE_SOURCES}
|
||||
src/Apps/Game/Main.cpp
|
||||
${CORE_SOURCES}
|
||||
)
|
||||
|
||||
if(USE_FRAMEBUFFER)
|
||||
list(APPEND SOURCES src/Gfx/Platform/FBDisplay.cpp)
|
||||
list(APPEND SOURCES src/Core/Platform/FBDisplay.cpp)
|
||||
else()
|
||||
list(APPEND SOURCES src/Gfx/Platform/SDLDisplay.cpp)
|
||||
list(APPEND SOURCES src/Core/Platform/SDLDisplay.cpp)
|
||||
endif()
|
||||
|
||||
add_executable(IMX6U-Game ${SOURCES})
|
||||
|
||||
<<<<<<< HEAD
|
||||
target_include_directories(IMX6U-Game PRIVATE ${ENGINE_INCLUDE_DIRS})
|
||||
=======
|
||||
target_include_directories(IMX6U-Game PRIVATE
|
||||
src/Gfx/Platform
|
||||
src/Gfx/Asset
|
||||
src/Gfx/Core
|
||||
src/Gfx/Draw2D
|
||||
src/Gfx/Math
|
||||
src/Gfx/Rasterizer
|
||||
src/Gfx/RenderData
|
||||
src/Gfx/Scene
|
||||
src/Gfx/Shading
|
||||
assets/font
|
||||
assets/sprite
|
||||
)
|
||||
>>>>>>> 777ff96602c52c86f03d612bb4213de746f580a5
|
||||
target_include_directories(IMX6U-Game PRIVATE ${CORE_INCLUDE_DIRS})
|
||||
|
||||
if(USE_FRAMEBUFFER)
|
||||
target_compile_definitions(IMX6U-Game PRIVATE USE_FRAMEBUFFER)
|
||||
else()
|
||||
target_include_directories(IMX6U-Game PRIVATE
|
||||
libs/Win/SDL2/include
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set(SDL2_LIB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libs/Win/SDL2/lib/x64")
|
||||
@@ -109,6 +63,7 @@ else()
|
||||
set(SDL2_IMAGE_DLL "${CMAKE_CURRENT_SOURCE_DIR}/libs/Win/SDL_image/lib/x86/SDL2_image.dll")
|
||||
endif()
|
||||
|
||||
target_include_directories(IMX6U-Game PRIVATE libs/Win/SDL2/include)
|
||||
target_link_directories(IMX6U-Game PRIVATE ${SDL2_LIB_DIR})
|
||||
target_link_libraries(IMX6U-Game PRIVATE SDL2main SDL2)
|
||||
|
||||
@@ -119,14 +74,9 @@ else()
|
||||
)
|
||||
else()
|
||||
find_package(SDL2 REQUIRED)
|
||||
find_package(SDL2_image QUIET)
|
||||
target_link_libraries(IMX6U-Game PRIVATE SDL2::SDL2)
|
||||
endif()
|
||||
|
||||
find_package(SDL2_image QUIET)
|
||||
endif()
|
||||
|
||||
if(UNIX)
|
||||
target_link_libraries(IMX6U-Game PRIVATE asound)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
@@ -135,46 +85,16 @@ if(MSVC)
|
||||
endif()
|
||||
|
||||
if(NOT USE_FRAMEBUFFER)
|
||||
set(SPRITE_ANIMATION_TEST_SOURCES
|
||||
game/tests/manual/SpriteAnimationTest.cpp
|
||||
${ENGINE_SOURCES}
|
||||
src/Platform/SDLDisplay.cpp
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
add_executable(SpriteAnimationTest ${SPRITE_ANIMATION_TEST_SOURCES})
|
||||
target_include_directories(SpriteAnimationTest PRIVATE
|
||||
${ENGINE_INCLUDE_DIRS}
|
||||
libs/Win/SDL2/include
|
||||
)
|
||||
target_link_directories(SpriteAnimationTest PRIVATE ${SDL2_LIB_DIR})
|
||||
target_link_libraries(SpriteAnimationTest PRIVATE SDL2main SDL2)
|
||||
|
||||
add_custom_command(TARGET SpriteAnimationTest POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
"${SDL2_DLL}"
|
||||
"$<TARGET_FILE_DIR:SpriteAnimationTest>"
|
||||
)
|
||||
else()
|
||||
add_executable(SpriteAnimationTest ${SPRITE_ANIMATION_TEST_SOURCES})
|
||||
target_include_directories(SpriteAnimationTest PRIVATE ${ENGINE_INCLUDE_DIRS})
|
||||
target_link_libraries(SpriteAnimationTest PRIVATE SDL2::SDL2 asound)
|
||||
endif()
|
||||
|
||||
if(MSVC AND TARGET SpriteAnimationTest)
|
||||
target_compile_options(SpriteAnimationTest PRIVATE /utf-8 /W3)
|
||||
endif()
|
||||
|
||||
set(SPRITE_ASSET_TOOL_SOURCES
|
||||
game/tools/asset_pipeline/SpriteAssetTool.cpp
|
||||
src/Asset/SpriteAssetLoader.cpp
|
||||
src/Apps/Game/tools/asset_pipeline/SpriteAssetTool.cpp
|
||||
src/Core/Asset/SpriteAssetLoader.cpp
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
add_executable(SpriteAssetTool ${SPRITE_ASSET_TOOL_SOURCES})
|
||||
target_include_directories(SpriteAssetTool PRIVATE
|
||||
src/Asset
|
||||
src/RenderData
|
||||
src/Core/Asset
|
||||
src/Core/RenderData
|
||||
libs/Win/SDL2/include
|
||||
libs/Win/SDL_image/include
|
||||
)
|
||||
@@ -194,8 +114,8 @@ if(NOT USE_FRAMEBUFFER)
|
||||
elseif(SDL2_image_FOUND)
|
||||
add_executable(SpriteAssetTool ${SPRITE_ASSET_TOOL_SOURCES})
|
||||
target_include_directories(SpriteAssetTool PRIVATE
|
||||
src/Asset
|
||||
src/RenderData
|
||||
src/Core/Asset
|
||||
src/Core/RenderData
|
||||
)
|
||||
target_link_libraries(SpriteAssetTool PRIVATE SDL2::SDL2 SDL2_image::SDL2_image)
|
||||
else()
|
||||
@@ -206,9 +126,10 @@ if(NOT USE_FRAMEBUFFER)
|
||||
add_custom_target(ConvertTomSprites
|
||||
COMMAND $<TARGET_FILE:SpriteAssetTool>
|
||||
--batch
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/game/assets/raw"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/game/assets/sprites"
|
||||
"src/Apps/Game/assets/raw"
|
||||
"src/Apps/Game/assets/sprites"
|
||||
--preset tom-800x480
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
|
||||
DEPENDS SpriteAssetTool
|
||||
COMMENT "Converting PNG assets to board-ready .sprite files"
|
||||
VERBATIM
|
||||
|
||||
Reference in New Issue
Block a user