Cleanup
This commit is contained in:
1 parent
e80faf80b2
commit
45be08019e
5 files changed
+15
-73
No files matched your search
+1
-3
@@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.23)
|
||||
cmake_minimum_required(VERSION 4.0.1)
|
||||
project("RedScarfEngine"
|
||||
VERSION 0.0.1
|
||||
DESCRIPTION "Vulkan based 3D engine"
|
||||
@@ -7,8 +7,6 @@ project("RedScarfEngine"
|
||||
set(CMAKE_C_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||
|
||||
add_subdirectory(red_scarf_engine)
|
||||
add_subdirectory(utilities)
|
||||
add_subdirectory(graphics)
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"version": 4,
|
||||
"vendor": {
|
||||
"conan": {}
|
||||
},
|
||||
"include": [
|
||||
"build\\CMakePresets.json"
|
||||
]
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
[GLFW]
|
||||
git_url = https://github.com/glfw/glfw.git
|
||||
tag = 3.3.8
|
||||
custom_commands = cd GLFW && mkdir build && cd build && cmake .. -D BUILD_SHARED_LIBS=ON && make
|
||||
|
||||
[Vulkan-SDK]
|
||||
dl_url = https://sdk.lunarg.com/sdk/download/1.3.250.1/linux/vulkansdk-linux-x86_64-1.3.250.1.tar.gz
|
||||
custom_commands = tar -xf Vulkan-SDK && mv 1.3.250.1 vulkan && rm Vulkan-SDK && cd vulkan && ./vulkansdk -j 4 glslang vulkan-headers loader layers tools shaderc vulkan-extensionlayer
|
||||
|
||||
[vma]
|
||||
git_url = https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
|
||||
tag = v3.0.1
|
||||
|
||||
[Criterion]
|
||||
git_url = https://github.com/Snaipe/Criterion.git
|
||||
tag = v2.4.2
|
||||
custom_commands = cd Criterion && meson build && cd build && ninja
|
||||
|
||||
[stb]
|
||||
git_url = https://github.com/nothings/stb.git
|
||||
tag = master
|
||||
|
||||
[FreeType]
|
||||
dl_url = https://download.savannah.gnu.org/releases/freetype/freetype-2.10.0.tar.gz
|
||||
custom_commands = tar -xf FreeType && mv freetype-2.10.0 freetype && rm FreeType && cd freetype && cmake -E make_directory build && cmake -E chdir build cmake -D BUILD_SHARED_LIBS:BOOL=true .. && cmake --build build
|
||||
|
||||
[CMock]
|
||||
git_url = https://github.com/throwtheswitch/cmock.git
|
||||
custom_commands = cd cmock && bundle install
|
||||
+5
-40
@@ -1,54 +1,19 @@
|
||||
find_package(Vulkan REQUIRED)
|
||||
find_package(VulkanHeaders REQUIRED)
|
||||
find_package(glfw3 REQUIRED)
|
||||
find_package(FreeType REQUIRED)
|
||||
|
||||
find_package(Vulkan COMPONENTS glslc)
|
||||
find_program(glslc_executable NAMES glslc HINTS ${Vulkan_GLSLC_EXECUTABLE}/..)
|
||||
find_package(freetype REQUIRED)
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/shaders)
|
||||
add_library(graphics SHARED)
|
||||
|
||||
cmake_policy(SET CMP0116 NEW)
|
||||
function(compile_shader)
|
||||
cmake_parse_arguments(PARSE_ARGV 1 arg "" "ENV;FORMAT" "SOURCES")
|
||||
foreach(source ${arg_SOURCES})
|
||||
message(${source}.${arg_FORMAT})
|
||||
add_custom_command(
|
||||
OUTPUT ${source}.${arg_FORMAT}
|
||||
DEPENDS ${source}
|
||||
COMMAND
|
||||
${glslc_executable}
|
||||
-o ${source}.${arg_FORMAT}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/${source}
|
||||
)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
compile_shader(graphics
|
||||
ENV opengl
|
||||
FORMAT num
|
||||
SOURCES
|
||||
shaders/shader.vert
|
||||
shaders/solid_objects.frag
|
||||
shaders/on_screen_text.frag
|
||||
)
|
||||
|
||||
add_library(graphics SHARED
|
||||
shaders/shader.vert.num
|
||||
shaders/solid_objects.frag.num
|
||||
shaders/on_screen_text.frag.num
|
||||
)
|
||||
target_include_directories(graphics PRIVATE
|
||||
${PROJECT_SOURCE_DIR}
|
||||
${PROJECT_SOURCE_DIR}/third_party/include/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}
|
||||
${CMAKE_SOURCE_DIR}
|
||||
${Vulkan_INCLUDE_DIR}
|
||||
${vma_INCLUDE_DIR}
|
||||
${glfw3_INCLUDE_DIR}
|
||||
${stb_INCLUDE_DIR}
|
||||
${FreeType_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
target_sources(graphics PRIVATE
|
||||
@@ -71,7 +36,7 @@ src/descriptor_builder.c
|
||||
|
||||
target_link_libraries(graphics PUBLIC
|
||||
utilities
|
||||
${Vulkan_LIBRARIES}
|
||||
vulkan-headers::vulkan-headers
|
||||
glfw
|
||||
${freetype}
|
||||
Freetype::Freetype
|
||||
)
|
||||
@@ -9,7 +9,6 @@ target_include_directories(utilities PRIVATE
|
||||
target_sources(utilities PRIVATE
|
||||
src/file_utils.c
|
||||
src/logger.c
|
||||
src/task_linux.c
|
||||
)
|
||||
|
||||
target_link_libraries(utilities PRIVATE
|
||||
|
||||
Reference in new issue
Block a user