210 lines
9.0 KiB
CMake
210 lines
9.0 KiB
CMake
include_guard(GLOBAL)
|
|
block()
|
|
set(freetype_opts)
|
|
_register_git_cmake_library(render_3D::freetype
|
|
https://github.com/freetype/freetype.git
|
|
VER-2-13-3
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::freetype FREETYPE_ROOT)
|
|
set(FREETYPE_INCLUDE_DIRS "${FREETYPE_ROOT}/include/freetype2")
|
|
set(FREETYPE_INCLUDE_DIR_ft2build "${FREETYPE_ROOT}/include/freetype2")
|
|
set(FREETYPE_INCLUDE_DIR_freetype2 "${FREETYPE_ROOT}/include/freetype2")
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
set(FREETYPE_LIBRARY "${FREETYPE_ROOT}/lib/freetyped.lib")
|
|
else ()
|
|
set(FREETYPE_LIBRARY "${FREETYPE_ROOT}/lib/freetype.lib")
|
|
endif ()
|
|
rcl_cmake_library_set_cmake_options(render_3D::freetype ${freetype_opts})
|
|
rcl_cmake_library_set_other_use_opt(render_3D::freetype
|
|
"-DFREETYPE_INCLUDE_DIRS=\"${FREETYPE_INCLUDE_DIRS}\""
|
|
"-DFREETYPE_INCLUDE_DIR_ft2build=\"${FREETYPE_INCLUDE_DIR_ft2build}\""
|
|
"-DFREETYPE_INCLUDE_DIR_freetype2=\"${FREETYPE_INCLUDE_DIR_freetype2}\""
|
|
"-DFREETYPE_LIBRARY=\"${FREETYPE_LIBRARY}\""
|
|
"-DFREETYPE_LIBRARIES=\"${FREETYPE_LIBRARY}\""
|
|
)
|
|
rcl_cmake_library_set_init_script(render_3D::freetype
|
|
"set(FREETYPE_ROOT \"${FREETYPE_ROOT}\")"
|
|
"set(FREETYPE_INCLUDE_DIRS \"${FREETYPE_INCLUDE_DIRS}\")"
|
|
"set(FREETYPE_INCLUDE_DIR_ft2build \"${FREETYPE_INCLUDE_DIR_ft2build}\")"
|
|
"set(FREETYPE_INCLUDE_DIR_freetype2 \"${FREETYPE_INCLUDE_DIR_freetype2}\")"
|
|
"set(FREETYPE_LIBRARY \"${FREETYPE_LIBRARY}\")"
|
|
"set(FREETYPE_LIBRARIES \"${FREETYPE_LIBRARY}\")"
|
|
)
|
|
rcl_cmake_library_set_clear_script(render_3D::freetype
|
|
"unset(FREETYPE_ROOT)"
|
|
"unset(FREETYPE_INCLUDE_DIRS)"
|
|
"unset(FREETYPE_INCLUDE_DIR_ft2build)"
|
|
"unset(FREETYPE_INCLUDE_DIR_freetype2)"
|
|
"unset(FREETYPE_LIBRARY)"
|
|
"unset(FREETYPE_LIBRARIES)"
|
|
)
|
|
set(tinyxml2_opts
|
|
-Dtinyxml2_BUILD_TESTING=OFF
|
|
-Dtinyxml2_INSTALL_PKGCONFIG=OFF
|
|
-Dtinyxml2_SHARED_LIBS=OFF
|
|
-Dtinyxml2_INSTALL_CMAKEDIR=lib/cmake/tinyxml2
|
|
)
|
|
_register_git_cmake_library(render_3D::tinyxml2
|
|
"https://github.com/leethomason/tinyxml2.git"
|
|
"11.0.0"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::tinyxml2 TINYXML2_ROOT)
|
|
set(TINYXML2_CONFIG_DIR "${TINYXML2_ROOT}/lib/cmake/tinyxml2")
|
|
rcl_cmake_library_set_cmake_options(render_3D::tinyxml2 ${tinyxml2_opts})
|
|
rcl_cmake_library_set_other_use_opt(render_3D::tinyxml2
|
|
"-Dtinyxml2_DIR=\"${TINYXML2_CONFIG_DIR}\""
|
|
)
|
|
rcl_cmake_library_set_init_script(render_3D::tinyxml2
|
|
"set(TINYXML2_ROOT \"${TINYXML2_ROOT}\")"
|
|
"set(tinyxml2_DIR \"${TINYXML2_CONFIG_DIR}\")"
|
|
)
|
|
rcl_cmake_library_set_clear_script(render_3D::tinyxml2
|
|
"unset(TINYXML2_ROOT)"
|
|
"unset(tinyxml2_DIR)"
|
|
)
|
|
set(msdfgen_cmake_option ${base_options})
|
|
list(APPEND msdfgen_cmake_option
|
|
-DMSDFGEN_USE_SKIA=OFF
|
|
-DMSDFGEN_USE_VCPKG=OFF
|
|
-DBUILD_SHARED_LIBS=ON
|
|
-DMSDFGEN_DYNAMIC_RUNTIME=ON
|
|
-DMSDFGEN_INSTALL=ON
|
|
)
|
|
_register_git_cmake_library(render_3D::msdfgen
|
|
https://github.com/Chlumsky/msdfgen.git
|
|
v1.12
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::msdfgen MSDFGEN_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::msdfgen ${msdfgen_cmake_option})
|
|
rcl_cmake_library_set_deps(render_3D::msdfgen
|
|
global::zlib
|
|
global::libpng
|
|
render_3D::freetype
|
|
render_3D::tinyxml2
|
|
)
|
|
set(msdfgl_cmake_option "")
|
|
if (WIN32)
|
|
set(PThreads4W_option ${base_options})
|
|
list(APPEND PThreads4W_option
|
|
"-DCMAKE_C_FLAGS=-D_WINDLL"
|
|
"-DCMAKE_CXX_FLAGS=-D_WINDLL"
|
|
)
|
|
_register_git_cmake_library(render_3D::PThreads4W
|
|
https://github.com/jwinarske/pthreads4w.git
|
|
"cmake"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::PThreads4W PTHREADS4W_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::PThreads4W ${PThreads4W_option})
|
|
endif ()
|
|
set(glfw3_option ${base_options})
|
|
_register_git_cmake_library(render_3D::glfw3
|
|
https://github.com/glfw/glfw.git
|
|
"3.4"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::glfw3 GLFW3_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::glfw3 ${glfw3_option})
|
|
set(msdf-atlas-gen_option ${base_options})
|
|
list(APPEND msdf-atlas-gen_option
|
|
-DMSDFGEN_DISABLE_SVG=OFF
|
|
-DMSDFGEN_USE_SKIA=OFF
|
|
-DMSDF_ATLAS_BUILD_STANDALONE=OFF
|
|
-DMSDF_ATLAS_USE_VCPKG=OFF
|
|
-DMSDF_ATLAS_USE_SKIA=OFF
|
|
-DMSDF_ATLAS_DYNAMIC_RUNTIME=ON
|
|
-DMSDF_ATLAS_MSDFGEN_EXTERNAL=OFF
|
|
-DMSDF_ATLAS_INSTALL=ON
|
|
-DMSDFGEN_INSTALL=ON
|
|
-DBUILD_SHARED_LIBS=OFF
|
|
)
|
|
_register_git_cmake_library(render_3D::msdf-atlas-gen
|
|
https://github.com/Chlumsky/msdf-atlas-gen.git
|
|
v1.4
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::msdf-atlas-gen MSDF_ATLAS_GEN_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::msdf-atlas-gen ${msdf-atlas-gen_option})
|
|
rcl_cmake_library_set_deps(render_3D::msdf-atlas-gen
|
|
global::zlib
|
|
global::libpng
|
|
render_3D::freetype
|
|
render_3D::tinyxml2
|
|
)
|
|
set(cglm_option ${base_options})
|
|
_register_git_cmake_library(render_3D::cglm
|
|
"https://github.com/recp/cglm.git"
|
|
v0.9.6
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::cglm CGLM_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::cglm ${cglm_option})
|
|
set(glm_option ${base_options})
|
|
_register_git_cmake_library(render_3D::glm
|
|
"https://github.com/g-truc/glm.git"
|
|
"1.0.3"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::glm GLM_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::glm ${glm_option})
|
|
set(tinyobjloader_option ${base_options})
|
|
list(APPEND tinyobjloader_option
|
|
-DCMAKE_POLICY_VERSION_MINIMUM=3.20
|
|
)
|
|
_register_git_cmake_library(render_3D::tinyobjloader
|
|
"https://github.com/tinyobjloader/tinyobjloader.git"
|
|
"v1.0.7"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::tinyobjloader TINYOBJLOADER_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::tinyobjloader ${tinyobjloader_option})
|
|
set(vk-bootstrap_option ${base_options})
|
|
_register_git_cmake_library(render_3D::vk-bootstrap
|
|
"https://github.com/charles-lunarg/vk-bootstrap.git"
|
|
"v1.4.357"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::vk-bootstrap VK_BOOTSTRAP_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::vk-bootstrap ${vk-bootstrap_option})
|
|
set(Vulkan-Hpp_option ${base_options})
|
|
_register_git_cmake_library(render_3D::Vulkan-Hpp
|
|
"https://github.com/KhronosGroup/Vulkan-Hpp.git"
|
|
"v1.4.357"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::Vulkan-Hpp VULKAN_HPP_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::Vulkan-Hpp ${Vulkan-Hpp_option})
|
|
set(volk_option ${base_options})
|
|
list(APPEND volk_option
|
|
-DVOLK_INSTALL=ON
|
|
-DVOLK_PULL_IN_VULKAN=ON
|
|
-DVOLK_HEADERS_ONLY=OFF
|
|
-DVOLK_NAMESPACE=ON
|
|
)
|
|
_register_git_cmake_library(render_3D::volk
|
|
"https://github.com/zeux/volk.git"
|
|
"vulkan-sdk-1.4.357.0"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::volk VOLK_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::volk ${volk_option})
|
|
set(VulkanMemoryAllocator_option ${base_options})
|
|
_register_git_cmake_library(render_3D::VulkanMemoryAllocator
|
|
"https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
|
|
"v3.3.0"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::VulkanMemoryAllocator VULKAN_MEMORY_ALLOCATOR_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::VulkanMemoryAllocator ${VulkanMemoryAllocator_option})
|
|
set(tinygltf_option ${base_options})
|
|
_register_git_cmake_library(render_3D::tinygltf
|
|
"https://github.com/syoyo/tinygltf.git"
|
|
"v3.0.0"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::tinygltf TINYGLTF_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::tinygltf ${tinygltf_option})
|
|
set(fastgltf_option ${base_options})
|
|
_register_git_cmake_library(render_3D::fastgltf
|
|
"https://github.com/spnda/fastgltf.git"
|
|
"v0.9.0"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::fastgltf FASTGLTF_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::fastgltf ${fastgltf_option})
|
|
set(VulkanSceneGraph_option ${base_options})
|
|
_register_git_cmake_library(render_3D::VulkanSceneGraph
|
|
"https://github.com/vsg-dev/VulkanSceneGraph.git"
|
|
"v1.1.15"
|
|
)
|
|
rcl_get_effective_install_dir(render_3D::VulkanSceneGraph VULKAN_SCENE_GRAPH_ROOT)
|
|
rcl_cmake_library_set_cmake_options(render_3D::VulkanSceneGraph ${VulkanSceneGraph_option})
|
|
endblock() |