Test font pas fini
This commit is contained in:
+70
-281
@@ -1,8 +1,7 @@
|
||||
# Nous voulons un cmake "récent" pour utiliser les dernières fonctionnalités.
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
set (CMAKE_CXX_STANDARD 23)
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -fno-exceptions")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
|
||||
# Nom du projet.
|
||||
set(PROJECT CosmicEngine)
|
||||
project(${PROJECT})
|
||||
@@ -42,15 +41,6 @@ endif()
|
||||
# ---------- Inclusion des packages sous linux -----------
|
||||
|
||||
if(UNIX)
|
||||
# --------- Inclusion d'OpenGL ----------
|
||||
# OpenGL Lib pour charger OpenGL, fournit avec les drivers, donc se trouve toute seul.
|
||||
# find_package(OpenGL REQUIRED)
|
||||
# if(OPENGL_FOUND)
|
||||
# message("lib OpenGL Trouvé")
|
||||
# else()
|
||||
# message("lib OpenGL Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ---------- Inclusion de GLM -----------
|
||||
# GLM Lib pour mathématique, en mode header only.
|
||||
@@ -86,129 +76,6 @@ if(UNIX)
|
||||
message("lib EnTTlib Introuvable")
|
||||
endif()
|
||||
|
||||
|
||||
# --------- Inclusion de Boost ----------
|
||||
# Boost Lib pour diverse simplification
|
||||
# set(Boost_USE_STATIC_LIBS OFF)
|
||||
# set(Boost_USE_MULTITHREADED ON)
|
||||
# set(Boost_USE_STATIC_RUNTIME OFF)
|
||||
|
||||
# find_package(Boost REQUIRED COMPONENTS log_setup log filesystem chrono thread date_time regex) # header only libraries must not be added here
|
||||
|
||||
# message(STATUS "Boost version: ${Boost_VERSION}")
|
||||
|
||||
# if(NOT TARGET Boost::filesystem)
|
||||
# add_library(Boost::filesystem IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::filesystem PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::filesystem PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(NOT TARGET Boost::thread)
|
||||
# add_library(Boost::thread IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::thread PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::thread PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(NOT TARGET Boost::chrono)
|
||||
# add_library(Boost::chrono IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::chrono PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::chrono PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(NOT TARGET Boost::date_time)
|
||||
# add_library(Boost::date_time IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::date_time PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::date_time PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(NOT TARGET Boost::regex)
|
||||
# add_library(Boost::regex IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::regex PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::regex PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(NOT TARGET Boost::log)
|
||||
# add_library(Boost::log IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::log PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::log PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(NOT TARGET Boost::log_setup)
|
||||
# add_library(Boost::log_setup IMPORTED INTERFACE)
|
||||
# set_property(TARGET Boost::log_setup PROPERTY
|
||||
# INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR})
|
||||
# set_property(TARGET Boost::log_setup PROPERTY
|
||||
# INTERFACE_LINK_LIBRARIES ${Boost_LIBRARIES})
|
||||
# endif()
|
||||
|
||||
# if(Boost_FOUND)
|
||||
# message("lib Boost Trouvé")
|
||||
# else()
|
||||
# message("lib Boost Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# -------- Inclusion de la SDL2 ----------
|
||||
# SDL2 Lib pour fenetre et contrôle
|
||||
|
||||
# Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
# find_package(SDL2 REQUIRED)
|
||||
# if(SDL2_FOUND)
|
||||
# message("lib SDL2 Trouvé")
|
||||
# else()
|
||||
# message("lib SDL2 Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ------- Inclusion de SDL2_IMAGE --------
|
||||
# SDL2_IMAGE Lib pour charger une image
|
||||
# Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
# find_package(SDL2_image QUIET)
|
||||
# #find_library(SDL2_image libSDL2_image)
|
||||
|
||||
# if(SDL2_image_FOUND)
|
||||
# message("lib SDL2_IMAGE Trouvé")
|
||||
# else()
|
||||
# message("lib SDL2_IMAGE Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ------- Inclusion de SDL2_TTF --------
|
||||
# SDL2_IMAGE Lib pour charger une police d'écriture.
|
||||
# set(SDL2_ttf_DIR ./lib/CMake/Linux)
|
||||
# # Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
# find_package(SDL2_ttf QUIET)
|
||||
# #find_library(SDL2_ttf libSDL2_ttf)
|
||||
# if(SDL2_ttf_FOUND)
|
||||
# message("lib SDL2_TTF Trouvé")
|
||||
# else()
|
||||
# message("lib SDL2_TTF Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# --------- Inclusion de GLEW -----------
|
||||
# GLEW Lib pour charger utiliser OpenGL + extension
|
||||
# Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
# find_package(GLEW REQUIRED)
|
||||
# if(GLEW_FOUND)
|
||||
# message("lib GLEW Trouvé")
|
||||
# else()
|
||||
# message("lib GLEW Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ---------- Inclusion de ASSIMP -----------
|
||||
# Assimp Lib import modèles 3D.
|
||||
find_package(assimp REQUIRED)
|
||||
@@ -219,31 +86,6 @@ if(UNIX)
|
||||
endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ---------- Inclusion de ODE -----------
|
||||
# ODE Lib Moteur physique.
|
||||
# set(ODE_DIR ./lib/CMake/Linux)
|
||||
# # Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
# find_package(ODE REQUIRED)
|
||||
# if(ODE_FOUND)
|
||||
# message("lib ODE Trouvé")
|
||||
# else()
|
||||
# message("lib ODE Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# --------- Inclusion de SNDFILE ----------
|
||||
# SNDFILE Lib pour inclure le son.
|
||||
# Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
#set(SNDFILE_DIR ./lib/CMake/Linux)
|
||||
# find_package(sndfile QUIET)#TODO corrige
|
||||
# #find_library(sndfile libsndfile)
|
||||
# if(sndfile_FOUND)
|
||||
# message("lib SNDFILE Trouvé")
|
||||
# else()
|
||||
# message("lib SNDFILE Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ---------- Inclusion de OpenAL-----------
|
||||
# OpenAL Lib gérer le son.
|
||||
# Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
@@ -329,22 +171,6 @@ endif()
|
||||
endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ------- Inclusion de Spirv-cross --------
|
||||
#Spirv-cross pour metadonnees shader spirv
|
||||
# set(spirv_cross_core_DIR ./lib/CMake/Linux/spirv-crossConf)
|
||||
# set(spirv_cross_glsl_DIR ./lib/CMake/Linux/spirv-crossConf)
|
||||
# Les autre plateforme (Linux...) ont un installateur de paquet, la lib se trouve toute seul.
|
||||
# find_package(spirv_cross_core QUIET)
|
||||
# find_package(spirv_cross_glsl QUIET)
|
||||
|
||||
#find_library(SDL2_ttf libSDL2_ttf)
|
||||
# if(spirv_cross_core_FOUND AND spirv_cross_glsl_FOUND)
|
||||
# message("lib spirv_cross Trouvé")
|
||||
# else()
|
||||
# message("lib spirv_cross Introuvable")
|
||||
# endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ------- Inclusion de Spirv-cross --------
|
||||
#Spirv-cross pour metadonnees shader spirv
|
||||
set(spirvreflectlib_DIR ./lib/CMake/Linux/)
|
||||
@@ -401,6 +227,20 @@ else()
|
||||
endif()
|
||||
# ---------------------------------------
|
||||
|
||||
# ------- Inclusion de MSDFATLASGEN --------
|
||||
# Pour les font
|
||||
set(MsdfAtlasGen_DIR ./lib/CMake/Linux)
|
||||
|
||||
find_package(MsdfAtlasGen REQUIRED)
|
||||
|
||||
if(MsdfAtlasGen_FOUND)
|
||||
message("lib MsdfAtlasGen Trouvé")
|
||||
else()
|
||||
message("lib MsdfAtlasGen Introuvable")
|
||||
endif()
|
||||
# ---------------------------------------
|
||||
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
@@ -447,6 +287,22 @@ target_include_directories(Engine
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Engine
|
||||
)
|
||||
|
||||
add_library(EngineHeaders INTERFACE)
|
||||
target_include_directories(EngineHeaders INTERFACE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Engine
|
||||
${GLM_INCLUDE_DIRS}
|
||||
${JSONFMCPP_INCLUDE_DIRS}
|
||||
${ENTT_INCLUDE_DIRS}
|
||||
${JOLT_INCLUDE_DIRS}
|
||||
${VMA_INCLUDE_DIRS}
|
||||
${DRLIBS_INCLUDE_DIRS}
|
||||
${MSDFATLASGEN_INCLUDE_DIRS}
|
||||
${OPENAL_INCLUDE_DIR}
|
||||
${SPIRV_REFLECT_INCLUDE_DIRS}
|
||||
${ASSIMP_INCLUDE_DIRS}
|
||||
${JSONVALIDATOR_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library(ScriptModule SHARED ${SRCS_SCRIPTS})
|
||||
target_include_directories(ScriptModule PRIVATE ${HEADERS_ENGINE})
|
||||
|
||||
@@ -471,135 +327,68 @@ if(GENERATED_SPV_FILES)
|
||||
)
|
||||
endif()
|
||||
|
||||
add_dependencies(${PROJECT} Engine)
|
||||
add_dependencies(${PROJECT} EngineHeaders)
|
||||
add_dependencies(Engine CompileSlangShaders)
|
||||
add_dependencies(ScriptModule Engine)
|
||||
add_dependencies(ScriptModule EngineHeaders)
|
||||
|
||||
|
||||
target_link_libraries(CosmicTest PRIVATE Catch2::Catch2WithMain Engine)
|
||||
|
||||
# Fichier include
|
||||
# OpenGL
|
||||
#include_directories(${OPENGL_INCLUDE_DIR})
|
||||
# SDL2
|
||||
#include_directories(${SDL2_INCLUDE_DIRS})
|
||||
# GLEW
|
||||
#include_directories(${GLEW_INCLUDE_DIRS})
|
||||
# SDL2_image
|
||||
#include_directories(${SDL2_IMAGE_INCLUDE_DIRS})
|
||||
# SDL2_ttf
|
||||
#include_directories(${SDL2_TTF_INCLUDE_DIRS})
|
||||
# GLM
|
||||
include_directories(${GLM_INCLUDE_DIRS})
|
||||
# JSONFMCPP
|
||||
include_directories(${JSONFMCPP_INCLUDE_DIRS})
|
||||
#ENTT
|
||||
include_directories(${ENTT_INCLUDE_DIRS})
|
||||
#include_directories(${SPIRV_INCLUDE_DIRS})
|
||||
include_directories(${SPIRV_REFLECT_INCLUDE_DIRS})
|
||||
include_directories(${VMA_INCLUDE_DIRS})
|
||||
|
||||
# ASSIMP
|
||||
include_directories(${ASSIMP_INCLUDE_DIRS})
|
||||
# ODE
|
||||
#include_directories(${ODE_INCLUDE_DIRS})
|
||||
include_directories(${JOLT_INCLUDE_DIRS})
|
||||
# SNDFILE
|
||||
#include_directories(${SNDFILE_INCLUDE_DIRS})
|
||||
# OPENAL
|
||||
include_directories(${OPENAL_INCLUDE_DIRS})
|
||||
include_directories(${OPENAL_INCLUDE_DIR})
|
||||
include_directories(${JSONVALIDATOR_INCLUDE_DIRS})
|
||||
include_directories(${DRLIBS_INCLUDE_DIRS})
|
||||
target_link_libraries(Engine ${JSONVALIDATOR_LIBRARIES})
|
||||
include_directories(${MSDFATLASGEN_INCLUDE_DIRS})
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
target_compile_definitions(Engine PRIVATE
|
||||
JPH_ENABLE_ASSERTS
|
||||
JPH_PROFILE_ENABLED
|
||||
JPH_OBJECT_STREAM
|
||||
JPH_DEBUG_RENDERER
|
||||
)
|
||||
target_compile_definitions(Engine PRIVATE
|
||||
JPH_ENABLE_ASSERTS
|
||||
JPH_PROFILE_ENABLED
|
||||
JPH_OBJECT_STREAM
|
||||
JPH_DEBUG_RENDERER
|
||||
)
|
||||
|
||||
target_compile_definitions(ScriptModule PRIVATE
|
||||
JPH_ENABLE_ASSERTS
|
||||
JPH_PROFILE_ENABLED
|
||||
JPH_OBJECT_STREAM
|
||||
JPH_DEBUG_RENDERER
|
||||
)
|
||||
#target_compile_definitions(ScriptModule PRIVATE
|
||||
# JPH_ENABLE_ASSERTS
|
||||
# JPH_PROFILE_ENABLED
|
||||
# JPH_OBJECT_STREAM
|
||||
# JPH_DEBUG_RENDERER
|
||||
#)
|
||||
else() # Release
|
||||
target_compile_definitions(Engine PRIVATE
|
||||
JPH_OBJECT_STREAM
|
||||
)
|
||||
target_compile_definitions(ScriptModule PRIVATE
|
||||
JPH_OBJECT_STREAM
|
||||
)
|
||||
target_compile_definitions(Engine PRIVATE
|
||||
JPH_OBJECT_STREAM
|
||||
)
|
||||
#target_compile_definitions(ScriptModule PRIVATE
|
||||
# JPH_OBJECT_STREAM
|
||||
#)
|
||||
endif()
|
||||
|
||||
target_link_libraries(Engine
|
||||
target_link_libraries(Engine PRIVATE
|
||||
debug ${JOLT_LIBRARIES_DEBUG}
|
||||
optimized ${JOLT_LIBRARIES_RELEASE}
|
||||
SDL3::SDL3
|
||||
SDL3_image
|
||||
SDL3_ttf
|
||||
Vulkan::Vulkan
|
||||
spirv-reflect
|
||||
${ASSIMP_LIBRARIES}
|
||||
OpenAL::OpenAL
|
||||
${JSONVALIDATOR_LIBRARIES}
|
||||
${MSDFATLASGEN}
|
||||
)
|
||||
# Fichier lib
|
||||
# OpenGL
|
||||
#target_link_libraries(Engine OpenMP::OpenMP_CXX)
|
||||
|
||||
# OpenMP
|
||||
#target_link_libraries(Engine ${OPENGL_LIBRARIES})
|
||||
|
||||
# SDL2
|
||||
#target_link_libraries(Engine ${SDL2_LIBRARIES})
|
||||
target_link_libraries(Engine SDL3::SDL3)
|
||||
# GLEW
|
||||
#target_link_libraries(Engine ${GLEW_LIBRARIES})
|
||||
|
||||
# SDL2_image
|
||||
#target_link_libraries(Engine SDL2_image)
|
||||
target_link_libraries(Engine SDL3_image)
|
||||
|
||||
# SDL2_ttf
|
||||
#target_link_libraries(Engine SDL2_ttf)
|
||||
target_link_libraries(Engine SDL3_ttf)
|
||||
# Boost
|
||||
|
||||
#Vulkan
|
||||
target_link_libraries(Engine Vulkan::Vulkan)
|
||||
|
||||
target_link_libraries(Engine spirv-reflect)
|
||||
|
||||
#target_link_libraries(Engine spirv-cross-glsl spirv-cross-core)
|
||||
|
||||
# ASSIMP
|
||||
target_link_libraries(Engine ${ASSIMP_LIBRARIES})
|
||||
|
||||
# ODE
|
||||
#target_link_libraries(Engine ${ODE_LIBRARIES})
|
||||
|
||||
|
||||
|
||||
# SNDFILE
|
||||
#target_link_libraries(Engine sndfile)
|
||||
|
||||
# OPENAL
|
||||
target_link_libraries(Engine OpenAL::OpenAL)
|
||||
|
||||
|
||||
#target_link_libraries(Engine ${CMAKE_DL_LIBS})
|
||||
|
||||
#target_link_libraries(${PROJECT} ${CMAKE_DL_LIBS})
|
||||
|
||||
|
||||
# Boost
|
||||
# target_link_libraries(Engine Boost::boost)
|
||||
# target_link_libraries(Engine Boost::filesystem)
|
||||
# target_link_libraries(Engine Boost::chrono)
|
||||
# target_link_libraries(Engine Boost::thread)
|
||||
# target_link_libraries(Engine Boost::date_time)
|
||||
# target_link_libraries(Engine Boost::regex)
|
||||
# target_link_libraries(Engine Boost::log)
|
||||
# target_link_libraries(Engine Boost::log_setup)
|
||||
|
||||
target_link_libraries(ScriptModule Engine)
|
||||
target_link_libraries(${PROJECT} Engine)
|
||||
target_link_libraries(CosmicTest PRIVATE Catch2::Catch2WithMain Engine EngineHeaders)
|
||||
target_link_libraries(ScriptModule PRIVATE EngineHeaders)
|
||||
target_link_options(ScriptModule PRIVATE -Wl,--allow-shlib-undefined)
|
||||
target_link_libraries(${PROJECT} PUBLIC Engine EngineHeaders)
|
||||
target_link_options(${PROJECT} PRIVATE
|
||||
-Wl,--export-dynamic
|
||||
)
|
||||
|
||||
if(UNIX)
|
||||
add_custom_command(
|
||||
|
||||
Reference in New Issue
Block a user