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"
|
project("RedScarfEngine"
|
||||||
VERSION 0.0.1
|
VERSION 0.0.1
|
||||||
DESCRIPTION "Vulkan based 3D engine"
|
DESCRIPTION "Vulkan based 3D engine"
|
||||||
@@ -7,8 +7,6 @@ project("RedScarfEngine"
|
|||||||
set(CMAKE_C_STANDARD 11)
|
set(CMAKE_C_STANDARD 11)
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
|
||||||
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
|
||||||
|
|
||||||
add_subdirectory(red_scarf_engine)
|
add_subdirectory(red_scarf_engine)
|
||||||
add_subdirectory(utilities)
|
add_subdirectory(utilities)
|
||||||
add_subdirectory(graphics)
|
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(glfw3 REQUIRED)
|
||||||
find_package(FreeType REQUIRED)
|
find_package(freetype REQUIRED)
|
||||||
|
|
||||||
find_package(Vulkan COMPONENTS glslc)
|
|
||||||
find_program(glslc_executable NAMES glslc HINTS ${Vulkan_GLSLC_EXECUTABLE}/..)
|
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
|
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
|
target_include_directories(graphics PRIVATE
|
||||||
${PROJECT_SOURCE_DIR}
|
${PROJECT_SOURCE_DIR}
|
||||||
${PROJECT_SOURCE_DIR}/third_party/include/
|
${PROJECT_SOURCE_DIR}/third_party/include/
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
${CMAKE_SOURCE_DIR}
|
${CMAKE_SOURCE_DIR}
|
||||||
${Vulkan_INCLUDE_DIR}
|
|
||||||
${vma_INCLUDE_DIR}
|
${vma_INCLUDE_DIR}
|
||||||
${glfw3_INCLUDE_DIR}
|
${glfw3_INCLUDE_DIR}
|
||||||
${stb_INCLUDE_DIR}
|
${stb_INCLUDE_DIR}
|
||||||
${FreeType_INCLUDE_DIR}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(graphics PRIVATE
|
target_sources(graphics PRIVATE
|
||||||
@@ -71,7 +36,7 @@ src/descriptor_builder.c
|
|||||||
|
|
||||||
target_link_libraries(graphics PUBLIC
|
target_link_libraries(graphics PUBLIC
|
||||||
utilities
|
utilities
|
||||||
${Vulkan_LIBRARIES}
|
vulkan-headers::vulkan-headers
|
||||||
glfw
|
glfw
|
||||||
${freetype}
|
Freetype::Freetype
|
||||||
)
|
)
|
||||||
@@ -9,7 +9,6 @@ target_include_directories(utilities PRIVATE
|
|||||||
target_sources(utilities PRIVATE
|
target_sources(utilities PRIVATE
|
||||||
src/file_utils.c
|
src/file_utils.c
|
||||||
src/logger.c
|
src/logger.c
|
||||||
src/task_linux.c
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(utilities PRIVATE
|
target_link_libraries(utilities PRIVATE
|
||||||
|
|||||||
Reference in new issue
Block a user