initial commit

This commit is contained in:
Confideo-IOM
2026-07-17 15:30:29 +01:00
commit 7e8ec5a825
416 changed files with 40308 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
cmake_minimum_required(VERSION 3.15...3.50)
set(CMAKE_CXX_STANDARD 17)
list(APPEND CMAKE_PREFIX_PATH "../Libraries/")
list(APPEND CMAKE_PREFIX_PATH "../Libraries/glew-2.3.1")
list(APPEND CMAKE_PREFIX_PATH "C:/Program Files (x86)/GLFW")
project(
HydraEngine
VERSION 1.0
LANGUAGES CXX)
file(GLOB_RECURSE SOURCES
source/ *.h
source/ *.cpp
)
add_compile_definitions(_EXPORTING)
add_library(HydraEngine SHARED ${SOURCES})
#********** GLFW **********
find_package(glfw3 3.5.0 REQUIRED)
include_directories(HydraEngine "C:/Program Files (x86)/GLFW/include")
target_link_libraries(HydraEngine PRIVATE glfw)
#********** Glew **********
find_package(GLEW REQUIRED)
include_directories(HydraEngine ${GLEW_INCLUDE_DIRS})
target_link_libraries(HydraEngine PRIVATE ${GLEW_LIBRARIES})
#********** GLM **********
find_package(glm CONFIG REQUIRED)
include_directories(HydraClient "${CMAKE_SOURCE_DIR}/Libraries/glm")
#********** AssImp **********
include_directories(HydraEngine, "../Libraries/assimp/include/")
target_link_libraries(HydraEngine PRIVATE "c:/Code/HydraV3/Libraries/assimp/lib/Debug/assimp-vc143-mtd.lib")
#********** OpenGL **********
find_package(OpenGL REQUIRED)
target_link_libraries(HydraEngine PRIVATE OpenGL32)
#********** STB Image ********
include_directories(HydraEngine, "../Libraries/stb-master/")
include_directories(HydraClient "${CMAKE_SOURCE_DIR}/HydraEngine/includes")
if(WIN32)
add_custom_command(TARGET HydraEngine POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:HydraEngine> $<TARGET_RUNTIME_DLLS:HydraEngine>
COMMAND_EXPAND_LISTS
)
endif()
# set(GLSL_VALIDATOR "glslangValidator")
# file(GLOB_RECURSE GLSL_SOURCE_FILES
# "source/ShaderFiles/*.frag"
# "source/ShaderFiles/*.vert"
# "source/ShaderFiles/*.comp"
# "source/ShaderFiles/*.geom"
# )
# foreach(GLSL ${GLSL_SOURCE_FILES})
# get_filename_component(FILE_NAME ${GLSL} NAME)
# set(SPIRV "${PROJECT_BINARY_DIR}/shaders/${FILE_NAME}.spv")
# #set(COMMAND_STRING "${GLSL_VALIDATOR} -V ${GLSL} -o ${SPIRV}")
# set(COMMAND_STRING "${GLSL_VALIDATOR} -V ${GLSL} -o ${SPIRV}")
# add_custom_command(
# OUTPUT ${SPIRV}
# COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/shaders/"
# COMMAND ${GLSL_VALIDATOR} -V ${GLSL} -o ${SPIRV}
# DEPENDS ${GLSL})
# list(APPEND SPIRV_BINARY_FILES ${SPIRV})
# endforeach(GLSL)
# add_custom_target(
# Shaders
# DEPENDS ${SPIRV_BINARY_FILES}
# )
# add_dependencies(HydraEngine Shaders)
# add_custom_command(TARGET HydraEngine POST_BUILD
# COMMAND ${CMAKE_COMMAND} -E make_directory "$<TARGET_FILE_DIR:HydraEngine>/shaders/"
# COMMAND ${CMAKE_COMMAND} -E copy_directory
# "${PROJECT_BINARY_DIR}/shaders"
# "$<TARGET_FILE_DIR:HydraEngine>/shaders"
# )