常规更新

This commit is contained in:
2026-07-06 15:46:31 +08:00
parent 216b1d633d
commit 1eebe2a71c
4 changed files with 954 additions and 1086 deletions
+153 -179
View File
@@ -1,185 +1,159 @@
include_guard(GLOBAL)
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
if (NOT CMAKE_SYSROOT)
set(CMAKE_SYSROOT /)
block()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
if (NOT CMAKE_SYSROOT)
set(CMAKE_SYSROOT /)
endif ()
endif ()
endif ()
if (CMAKE_SYSROOT)
list(APPEND base_options "-DCMAKE_SYSROOT=${CMAKE_SYSROOT}")
endif ()
set(zlib_opts)
list(APPEND zlib_opts "-DZLIB_BUILD_EXAMPLES=OFF")
_register_git_cmake_library(
zlib
ZLIB
https://github.com/madler/zlib.git
v1.3.1
)
rcl_get_effective_install_dir(zlib ZLIB_ROOT)
set(ZLIB_INCLUDE_DIR ${ZLIB_ROOT}/include)
if (MSVC)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(ZLIB_LIBRARY "${ZLIB_ROOT}/lib/zlibstaticd.lib")
if (CMAKE_SYSROOT)
list(APPEND base_options "-DCMAKE_SYSROOT=${CMAKE_SYSROOT}")
endif ()
set(zlib_opts)
list(APPEND zlib_opts "-DZLIB_BUILD_EXAMPLES=OFF")
_register_git_cmake_library(
zlib
ZLIB
https://github.com/madler/zlib.git
v1.3.1
)
rcl_get_effective_install_dir(zlib ZLIB_ROOT)
set(ZLIB_INCLUDE_DIR ${ZLIB_ROOT}/include)
if (MSVC)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(ZLIB_LIBRARY "${ZLIB_ROOT}/lib/zlibstaticd.lib")
else ()
set(ZLIB_LIBRARY "${ZLIB_ROOT}/lib/zlibstatic.lib")
endif ()
else ()
set(ZLIB_LIBRARY "${ZLIB_ROOT}/lib/zlibstatic.lib")
set(ZLIB_LIBRARY ${ZLIB_ROOT}/lib/libz.a)
endif ()
else ()
set(ZLIB_LIBRARY ${ZLIB_ROOT}/lib/libz.a)
endif ()
rcl_cmake_library_set_cmake_options(zlib ${zlib_opts})
rcl_cmake_library_set_other_use_opt(zlib
"-DZLIB_ROOT=\"${ZLIB_ROOT}\""
"-DZLIB_LIBRARY=\"${ZLIB_LIBRARY}\""
"-DZLIB_INCLUDE_DIR=\"${ZLIB_ROOT}/include\""
)
rcl_cmake_library_set_init_script(zlib
"set(ZLIB_ROOT \"${ZLIB_ROOT}\")"
"set(ZLIB_INCLUDE_DIR \"${ZLIB_INCLUDE_DIR}\")"
"set(ZLIB_INCLUDE_DIRS \"${ZLIB_INCLUDE_DIR}\")"
"set(ZLIB_LIBRARY \"${ZLIB_LIBRARY}\")"
"set(ZLIB_LIBRARIES \"${ZLIB_LIBRARY}\")"
)
rcl_cmake_library_set_clear_script(zlib
"unset(ZLIB_ROOT)"
"unset(ZLIB_INCLUDE_DIR)"
"unset(ZLIB_INCLUDE_DIRS)"
"unset(ZLIB_LIBRARY)"
"unset(ZLIB_LIBRARIES)"
)
# =========================
# libpng
# =========================
set(LIBPNG_VERSION v1.6.58)
set(PNG_ROOT "${EXTERNAL_INSTALL_DIR}/PNG_${LIBPNG_VERSION}")
set(PNG_PNG_INCLUDE_DIR "${PNG_ROOT}/include")
if (WIN32)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16_staticd.lib")
rcl_cmake_library_set_cmake_options(zlib ${zlib_opts})
rcl_cmake_library_set_other_use_opt(zlib
"-DZLIB_ROOT=\"${ZLIB_ROOT}\""
"-DZLIB_LIBRARY=\"${ZLIB_LIBRARY}\""
"-DZLIB_INCLUDE_DIR=\"${ZLIB_ROOT}/include\""
)
rcl_cmake_library_set_init_script(zlib
"set(ZLIB_ROOT \"${ZLIB_ROOT}\")"
"set(ZLIB_INCLUDE_DIR \"${ZLIB_INCLUDE_DIR}\")"
"set(ZLIB_INCLUDE_DIRS \"${ZLIB_INCLUDE_DIR}\")"
"set(ZLIB_LIBRARY \"${ZLIB_LIBRARY}\")"
"set(ZLIB_LIBRARIES \"${ZLIB_LIBRARY}\")"
)
rcl_cmake_library_set_clear_script(zlib
"unset(ZLIB_ROOT)"
"unset(ZLIB_INCLUDE_DIR)"
"unset(ZLIB_INCLUDE_DIRS)"
"unset(ZLIB_LIBRARY)"
"unset(ZLIB_LIBRARIES)"
)
# =========================
# libpng
# =========================
set(LIBPNG_VERSION v1.6.58)
set(PNG_ROOT "${EXTERNAL_INSTALL_DIR}/PNG_${LIBPNG_VERSION}")
set(PNG_PNG_INCLUDE_DIR "${PNG_ROOT}/include")
if (WIN32)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16_staticd.lib")
else ()
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16_static.lib")
endif ()
else ()
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16_static.lib")
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16d.a")
else ()
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16.a")
endif ()
endif ()
else ()
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16d.a")
else ()
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16.a")
endif ()
endif ()
set(libpng_opts)
list(APPEND libpng_opts "-DPNG_SHARED=OFF")
list(APPEND libpng_opts "-DPNG_STATIC=ON")
list(APPEND libpng_opts "-DPNG_TESTS=OFF")
list(APPEND libpng_opts "-DPNG_TOOLS=OFF")
list(APPEND libpng_opts "-DPNG_EXECUTABLES=OFF")
list(APPEND libpng_opts "-DZLIB_ROOT=\"${ZLIB_ROOT}\"")
list(APPEND libpng_opts "-DZLIB_LIBRARY=\"${ZLIB_LIBRARY}\"")
list(APPEND libpng_opts "-DZLIB_INCLUDE_DIR=\"${ZLIB_INCLUDE_DIR}\"")
_register_git_cmake_library(
libpng
libpng
https://github.com/glennrp/libpng.git
v1.6.58
)
rcl_cmake_library_set_cmake_options(libpng ${libpng_opts})
rcl_cmake_library_set_other_use_opt(libpng
"-DPNG_LIBRARY=\"${PNG_LIBRARY}\""
"-DPNG_PNG_INCLUDE_DIR=\"${PNG_PNG_INCLUDE_DIR}\""
)
set(GTest_opts)
list(APPEND GTest_opts "-Dgtest_force_shared_crt=ON")
_register_git_cmake_library(
googletest
GTest
https://github.com/google/googletest.git
v1.17.0
)
rcl_cmake_library_set_cmake_options(googletest ${GTest_opts})
set(GTest_DIR ${EXTERNAL_INSTALL_DIR}/googletest/lib/cmake)
#_register_git_cmake_library(
# libarchive
# libarchive
# "https://github.com/libarchive/libarchive.git"
# "v3.8.7"
# libarchive_opts
# ""
# ""
#)
set(libzip_opts)
list(APPEND libzip_opts "-DBUILD_EXAMPLES=OFF")
list(APPEND libzip_opts "-DBUILD_DOC=OFF")
list(APPEND libzip_opts "-DBUILD_REGRESS=OFF")
list(APPEND libzip_opts "-DBUILD_TOOLS=OFF")
list(APPEND libzip_opts "-DBUILD_SHARED_LIBS=OFF")
_register_git_cmake_library(
libzip
libzip
"https://github.com/nih-at/libzip"
"v1.11.4"
)
rcl_cmake_library_set_cmake_options(libzip ${libzip_opts})
rcl_cmake_library_set_deps(libzip zlib)
#set(ucoro_opts)
#_register_git_cmake_library_opt(
# "ucoro"
# "https://github.com/avplayer/ucoro.git"
# "v1.0"
# ucoro_opts
#)
#
set(spdlog_opts)
list(APPEND spdlog_opts
"-DSPDLOG_BUILD_EXAMPLE=OFF"
"-DSPDLOG_BUILD_TESTS=OFF"
"-DSPLOG_BUILD_BENCH=OFF"
"-DSPDLOG_INSTALL=ON"
"-DSPDLOG_FMT_EXTERNAL=OFF"
)
_register_git_cmake_library(
spdlog
spdlog
"https://github.com/gabime/spdlog.git"
"v1.17.0"
)
rcl_cmake_library_set_cmake_options(spdlog ${spdlog_opts})
_register_git_cmake_library(
pfr
pfr
"https://github.com/boostorg/pfr.git"
"2.2.0"
)
_register_git_cmake_library(
llvm
llvm
"https://github.com/llvm/llvm-project.git"
"llvmorg-22.1.8"
)
rcl_cmake_library_set_cmake_source_relative_dir(llvm "llvm")
message("base.cmake load complete!")
set(libpng_opts)
list(APPEND libpng_opts "-DPNG_SHARED=OFF")
list(APPEND libpng_opts "-DPNG_STATIC=ON")
list(APPEND libpng_opts "-DPNG_TESTS=OFF")
list(APPEND libpng_opts "-DPNG_TOOLS=OFF")
list(APPEND libpng_opts "-DPNG_EXECUTABLES=OFF")
list(APPEND libpng_opts "-DZLIB_ROOT=\"${ZLIB_ROOT}\"")
list(APPEND libpng_opts "-DZLIB_LIBRARY=\"${ZLIB_LIBRARY}\"")
list(APPEND libpng_opts "-DZLIB_INCLUDE_DIR=\"${ZLIB_INCLUDE_DIR}\"")
_register_git_cmake_library(
libpng
libpng
https://github.com/glennrp/libpng.git
v1.6.58
)
rcl_cmake_library_set_cmake_options(libpng ${libpng_opts})
rcl_cmake_library_set_other_use_opt(libpng
"-DPNG_LIBRARY=\"${PNG_LIBRARY}\""
"-DPNG_PNG_INCLUDE_DIR=\"${PNG_PNG_INCLUDE_DIR}\""
)
set(GTest_opts)
list(APPEND GTest_opts "-Dgtest_force_shared_crt=ON")
_register_git_cmake_library(
googletest
GTest
https://github.com/google/googletest.git
v1.17.0
)
rcl_cmake_library_set_cmake_options(googletest ${GTest_opts})
set(GTest_DIR ${EXTERNAL_INSTALL_DIR}/googletest/lib/cmake)
#_register_git_cmake_library(
# libarchive
# libarchive
# "https://github.com/libarchive/libarchive.git"
# "v3.8.7"
# libarchive_opts
# ""
# ""
#)
set(libzip_opts)
list(APPEND libzip_opts "-DBUILD_EXAMPLES=OFF")
list(APPEND libzip_opts "-DBUILD_DOC=OFF")
list(APPEND libzip_opts "-DBUILD_REGRESS=OFF")
list(APPEND libzip_opts "-DBUILD_TOOLS=OFF")
list(APPEND libzip_opts "-DBUILD_SHARED_LIBS=OFF")
_register_git_cmake_library(
libzip
libzip
"https://github.com/nih-at/libzip"
"v1.11.4"
)
rcl_cmake_library_set_cmake_options(libzip ${libzip_opts})
rcl_cmake_library_set_deps(libzip zlib)
#set(ucoro_opts)
#_register_git_cmake_library_opt(
# "ucoro"
# "https://github.com/avplayer/ucoro.git"
# "v1.0"
# ucoro_opts
#)
#
set(spdlog_opts)
list(APPEND spdlog_opts
"-DSPDLOG_BUILD_EXAMPLE=OFF"
"-DSPDLOG_BUILD_TESTS=OFF"
"-DSPLOG_BUILD_BENCH=OFF"
"-DSPDLOG_INSTALL=ON"
"-DSPDLOG_FMT_EXTERNAL=OFF"
)
_register_git_cmake_library(
spdlog
spdlog
"https://github.com/gabime/spdlog.git"
"v1.17.0"
)
rcl_cmake_library_set_cmake_options(spdlog ${spdlog_opts})
_register_git_cmake_library(
pfr
pfr
"https://github.com/boostorg/pfr.git"
"2.2.0"
)
_register_git_cmake_library(
llvm
llvm
"https://github.com/llvm/llvm-project.git"
"llvmorg-22.1.8"
)
rcl_cmake_library_set_cmake_source_relative_dir(llvm "llvm")
message("base.cmake load complete!")
endblock()
+175 -207
View File
@@ -1,210 +1,178 @@
include_guard(GLOBAL)
include(${CMAKE_CURRENT_LIST_DIR}/../0_cmake_library/register_libaray/export.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/base.cmake)
set(freetype_opts)
set(freetype_root ${EXTERNAL_INSTALL_DIR}/freetype_VER-2-13-3)
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 ()
_register_git_cmake_library(
freetype
freetype
https://github.com/freetype/freetype.git
VER-2-13-3
)
rcl_cmake_library_set_cmake_options(freetype ${freetype_opts})
rcl_cmake_library_set_other_use_opt(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}\""
)
set(msdfgen_cmake_option ${base_options})
list(APPEND msdfgen_cmake_option "-DMSDFGEN_USE_SKIA=OFF -DMSDFGEN_USE_VCPKG=OFF")
list(APPEND msdfgen_cmake_option "-DBUILD_SHARED_LIBS=ON -DMSDFGEN_DYNAMIC_RUNTIME=ON")
list(APPEND msdfgen_cmake_option "-DMSDFGEN_INSTALL=ON")
_register_git_cmake_library(
msdfgen
msdfgen
https://github.com/Chlumsky/msdfgen.git
v1.12
)
rcl_cmake_library_set_cmake_options(msdfgen ${msdfgen_cmake_option})
rcl_cmake_library_set_deps(msdfgen zlib libpng freetype tinyxml2)
#https://github.com/nyyManni/msdfgl.git
set(msdfgl_cmake_option "")
set(PThreads4W_option
${base_options}
)
list(APPEND PThreads4W_option "-DBUILD_TESTING=OFF")
list(APPEND PThreads4W_option "-DDIST_ROOT=${EXTERNAL_INSTALL_DIR}/PThreads4W")
_register_git_cmake_library(
PThreads4W
PThreads4W
https://github.com/jwinarske/pthreads4w.git
"cmake"
)
rcl_cmake_library_set_cmake_options(PThreads4W ${PThreads4W_option})
# C:\VulkanSDK\1.4.350.0
# SDK涓嬭浇 https://vulkan.lunarg.com/sdk/home
# https://docs.vulkan.org/tutorial/latest/00_Introduction.html
# https://github.com/Overv/VulkanTutorial.git
# https://github.com/KhronosGroup/Vulkan-Samples.git
# https://github.com/SaschaWillems/Vulkan.git
set(glfw3_option ${base_options})
_register_git_cmake_library(
glfw3
glfw3
https://github.com/glfw/glfw.git
"3.4"
)
rcl_cmake_library_set_cmake_options(glfw3 ${glfw3_option})
set(glfw3_option ${base_options})
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"
)
set(msdf-atlas-gen_rely ZLIB freetype png)
_register_git_cmake_library(
msdf-atlas-gen
msdf-atlas-gen
https://github.com/Chlumsky/msdf-atlas-gen.git
v1.4
)
rcl_cmake_library_set_cmake_options(msdf-atlas-gen ${msdf-atlas-gen_option})
set(cglm_option ${base_options})
_register_git_cmake_library(
cglm
cglm
"https://github.com/recp/cglm.git"
v0.9.6
)
rcl_cmake_library_set_cmake_options(cglm ${cglm_option})
set(glm_option ${base_options})
_register_git_cmake_library(
glm
glm
"https://github.com/g-truc/glm.git"
"1.0.3"
)
rcl_cmake_library_set_cmake_options(glm ${glm_option})
set(tinyobjloader_option ${base_options})
list(APPEND tinyobjloader_option "-DCMAKE_POLICY_VERSION_MINIMUM=3.20")
_register_git_cmake_library(
tinyobjloader
tinyobjloader
"https://github.com/tinyobjloader/tinyobjloader.git"
"v1.0.7"
)
rcl_cmake_library_set_cmake_options(tinyobjloader ${tinyobjloader_option})
set(vk-bootstrap_option ${base_options})
_register_git_cmake_library(
vk-bootstrap
vk-bootstrap
"https://github.com/charles-lunarg/vk-bootstrap.git"
"v1.4.350"
)
rcl_cmake_library_set_cmake_options(vk-bootstrap ${vk-bootstrap_option})
set(Vulkan-Hpp_option ${base_options})
_register_git_cmake_library(
Vulkan-Hpp
Vulkan-Hpp
"https://github.com/KhronosGroup/Vulkan-Hpp.git"
"v1.4.350"
)
rcl_cmake_library_set_cmake_options(Vulkan-Hpp ${Vulkan-Hpp_option})
set(volk_option ${base_options})
list(APPEND volk_option "-DVOLK_INSTALL=ON")
list(APPEND volk_option "-DVOLK_PULL_IN_VULKAN=ON")
list(APPEND volk_option "-DVOLK_HEADERS_ONLY=OFF")
list(APPEND volk_option "-DVOLK_NAMESPACE=ON")
#list(APPEND volk_option "-DVOLK_STATIC_DEFINES=VK_USE_PLATFORM_WIN32_KHR")
_register_git_cmake_library(
volk
volk
"https://github.com/zeux/volk.git"
"vulkan-sdk-1.4.350.0"
)
rcl_cmake_library_set_cmake_options(volk ${volk_option})
# vma
set(VulkanMemoryAllocator_option ${base_options})
_register_git_cmake_library(
VulkanMemoryAllocator
VulkanMemoryAllocator
"https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
"v3.3.0"
)
rcl_cmake_library_set_cmake_options(VulkanMemoryAllocator ${VulkanMemoryAllocator_option})
set(tinygltf_option ${base_options})
_register_git_cmake_library(
tinygltf
tinygltf
"https://github.com/syoyo/tinygltf.git"
"v3.0.0"
)
rcl_cmake_library_set_cmake_options(tinygltf ${tinygltf_option})
set(fastgltf_option ${base_options})
_register_git_cmake_library(
fastgltf
fastgltf
"https://github.com/spnda/fastgltf.git"
"v0.9.0"
)
rcl_cmake_library_set_cmake_options(fastgltf ${fastgltf_option})
set(VulkanSceneGraph_option ${base_options})
_register_git_cmake_library(
VulkanSceneGraph
VulkanSceneGraph
"https://github.com/vsg-dev/VulkanSceneGraph.git"
"v1.1.15"
)
rcl_cmake_library_set_cmake_options(VulkanSceneGraph ${VulkanSceneGraph_option})
block()
set(freetype_opts)
set(freetype_root ${EXTERNAL_INSTALL_DIR}/freetype_VER-2-13-3)
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 ()
_register_git_cmake_library(
freetype
freetype
https://github.com/freetype/freetype.git
VER-2-13-3
)
rcl_cmake_library_set_cmake_options(freetype ${freetype_opts})
rcl_cmake_library_set_other_use_opt(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}\""
)
set(msdfgen_cmake_option ${base_options})
list(APPEND msdfgen_cmake_option "-DMSDFGEN_USE_SKIA=OFF -DMSDFGEN_USE_VCPKG=OFF")
list(APPEND msdfgen_cmake_option "-DBUILD_SHARED_LIBS=ON -DMSDFGEN_DYNAMIC_RUNTIME=ON")
list(APPEND msdfgen_cmake_option "-DMSDFGEN_INSTALL=ON")
_register_git_cmake_library(
msdfgen
msdfgen
https://github.com/Chlumsky/msdfgen.git
v1.12
)
rcl_cmake_library_set_cmake_options(msdfgen ${msdfgen_cmake_option})
rcl_cmake_library_set_deps(msdfgen zlib libpng freetype tinyxml2)
#https://github.com/nyyManni/msdfgl.git
set(msdfgl_cmake_option "")
set(PThreads4W_option
${base_options}
)
list(APPEND PThreads4W_option "-DBUILD_TESTING=OFF")
list(APPEND PThreads4W_option "-DDIST_ROOT=${EXTERNAL_INSTALL_DIR}/PThreads4W")
_register_git_cmake_library(
PThreads4W
PThreads4W
https://github.com/jwinarske/pthreads4w.git
"cmake"
)
rcl_cmake_library_set_cmake_options(PThreads4W ${PThreads4W_option})
# C:\VulkanSDK\1.4.350.0
# SDK涓嬭浇 https://vulkan.lunarg.com/sdk/home
# https://docs.vulkan.org/tutorial/latest/00_Introduction.html
# https://github.com/Overv/VulkanTutorial.git
# https://github.com/KhronosGroup/Vulkan-Samples.git
# https://github.com/SaschaWillems/Vulkan.git
set(glfw3_option ${base_options})
_register_git_cmake_library(
glfw3
glfw3
https://github.com/glfw/glfw.git
"3.4"
)
rcl_cmake_library_set_cmake_options(glfw3 ${glfw3_option})
set(glfw3_option ${base_options})
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"
)
set(msdf-atlas-gen_rely ZLIB freetype png)
_register_git_cmake_library(
msdf-atlas-gen
msdf-atlas-gen
https://github.com/Chlumsky/msdf-atlas-gen.git
v1.4
)
rcl_cmake_library_set_cmake_options(msdf-atlas-gen ${msdf-atlas-gen_option})
set(cglm_option ${base_options})
_register_git_cmake_library(
cglm
cglm
"https://github.com/recp/cglm.git"
v0.9.6
)
rcl_cmake_library_set_cmake_options(cglm ${cglm_option})
set(glm_option ${base_options})
_register_git_cmake_library(
glm
glm
"https://github.com/g-truc/glm.git"
"1.0.3"
)
rcl_cmake_library_set_cmake_options(glm ${glm_option})
set(tinyobjloader_option ${base_options})
list(APPEND tinyobjloader_option "-DCMAKE_POLICY_VERSION_MINIMUM=3.20")
_register_git_cmake_library(
tinyobjloader
tinyobjloader
"https://github.com/tinyobjloader/tinyobjloader.git"
"v1.0.7"
)
rcl_cmake_library_set_cmake_options(tinyobjloader ${tinyobjloader_option})
set(vk-bootstrap_option ${base_options})
_register_git_cmake_library(
vk-bootstrap
vk-bootstrap
"https://github.com/charles-lunarg/vk-bootstrap.git"
"v1.4.350"
)
rcl_cmake_library_set_cmake_options(vk-bootstrap ${vk-bootstrap_option})
set(Vulkan-Hpp_option ${base_options})
_register_git_cmake_library(
Vulkan-Hpp
Vulkan-Hpp
"https://github.com/KhronosGroup/Vulkan-Hpp.git"
"v1.4.350"
)
rcl_cmake_library_set_cmake_options(Vulkan-Hpp ${Vulkan-Hpp_option})
set(volk_option ${base_options})
list(APPEND volk_option "-DVOLK_INSTALL=ON")
list(APPEND volk_option "-DVOLK_PULL_IN_VULKAN=ON")
list(APPEND volk_option "-DVOLK_HEADERS_ONLY=OFF")
list(APPEND volk_option "-DVOLK_NAMESPACE=ON")
#list(APPEND volk_option "-DVOLK_STATIC_DEFINES=VK_USE_PLATFORM_WIN32_KHR")
_register_git_cmake_library(
volk
volk
"https://github.com/zeux/volk.git"
"vulkan-sdk-1.4.350.0"
)
rcl_cmake_library_set_cmake_options(volk ${volk_option})
# vma
set(VulkanMemoryAllocator_option ${base_options})
_register_git_cmake_library(
VulkanMemoryAllocator
VulkanMemoryAllocator
"https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git"
"v3.3.0"
)
rcl_cmake_library_set_cmake_options(VulkanMemoryAllocator ${VulkanMemoryAllocator_option})
set(tinygltf_option ${base_options})
_register_git_cmake_library(
tinygltf
tinygltf
"https://github.com/syoyo/tinygltf.git"
"v3.0.0"
)
rcl_cmake_library_set_cmake_options(tinygltf ${tinygltf_option})
set(fastgltf_option ${base_options})
_register_git_cmake_library(
fastgltf
fastgltf
"https://github.com/spnda/fastgltf.git"
"v0.9.0"
)
rcl_cmake_library_set_cmake_options(fastgltf ${fastgltf_option})
set(VulkanSceneGraph_option ${base_options})
_register_git_cmake_library(
VulkanSceneGraph
VulkanSceneGraph
"https://github.com/vsg-dev/VulkanSceneGraph.git"
"v1.1.15"
)
rcl_cmake_library_set_cmake_options(VulkanSceneGraph ${VulkanSceneGraph_option})
endblock()
+364 -390
View File
@@ -1,396 +1,370 @@
# 鍙湁master 鎵嶆湁cmake
set(bzip2_opts)
list(APPEND bzip2_opts -DENABLE_SHARED_LIB=OFF)
list(APPEND bzip2_opts -DENABLE_STATIC_LIB=ON)
list(APPEND bzip2_opts -DENABLE_APP=OFF)
_register_git_cmake_library(
bzip2
bzip2
"https://github.com/libarchive/bzip2"
"master"
)
rcl_cmake_library_set_cmake_options(bzip2 ${bzip2_opts})
rcl_get_effective_install_dir(bzip2 BZIP2_ROOT)
if (MSVC)
set(BZIP2_LIBRARY "${BZIP2_ROOT}/lib/bz2_static.lib")
else ()
set(BZIP2_LIBRARY "${BZIP2_ROOT}/lib/libbz2_static.a")
endif ()
rcl_cmake_library_set_other_use_opt(bzip2
"-DBZIP2_INCLUDE_DIR=\"${BZIP2_ROOT}/include\""
"-DBZIP2_INCLUDE_DIRS=\"${BZIP2_ROOT}/include\""
"-DBZIP2_LIBRARY=\"${BZIP2_LIBRARY}\""
"-DBZIP2_LIBRARY_RELEASE=\"${BZIP2_LIBRARY}\""
"-DBZIP2_LIBRARY_DEBUG=\"${BZIP2_LIBRARY}\""
"-DBZIP2_LIBRARIES=\"${BZIP2_LIBRARY}\""
)
rcl_cmake_library_set_init_script(bzip2
"set(LIBARCHIVE_BZIP2_ROOT \"${BZIP2_ROOT}\")"
"set(LIBARCHIVE_BZIP2_LIBRARY \"${BZIP2_LIBRARY}\")"
"set(BZIP2_ROOT \"${BZIP2_ROOT}\")"
"set(BZIP2_INCLUDE_DIR \"${BZIP2_ROOT}/include\")"
"set(BZIP2_INCLUDE_DIRS \"${BZIP2_ROOT}/include\")"
"set(BZIP2_LIBRARY \"${BZIP2_LIBRARY}\")"
"set(BZIP2_LIBRARIES \"${BZIP2_LIBRARY}\")"
)
rcl_cmake_library_set_clear_script(bzip2
"unset(LIBARCHIVE_BZIP2_ROOT)"
"unset(LIBARCHIVE_BZIP2_LIBRARY)"
"unset(BZIP2_ROOT)"
"unset(BZIP2_INCLUDE_DIR)"
"unset(BZIP2_INCLUDE_DIRS)"
"unset(BZIP2_LIBRARY)"
"unset(BZIP2_LIBRARIES)"
)
# LibLZMA / XZ Utils
set(lzma_opts
-DBUILD_SHARED_LIBS=OFF
-DBUILD_TESTING=OFF
-DXZ_DOC=OFF
-DXZ_NLS=OFF
-DXZ_TOOL_XZ=OFF
-DXZ_TOOL_XZDEC=OFF
-DXZ_TOOL_LZMADEC=OFF
-DXZ_TOOL_LZMAINFO=OFF
-DXZ_MICROLZMA_DECODER=OFF
-DXZ_MICROLZMA_ENCODER=OFF
-DXZ_LZIP_DECODER=OFF
)
if (UNIX AND NOT APPLE)
list(APPEND lzma_opts -DXZ_THREADS=posix)
elseif (WIN32)
list(APPEND lzma_opts -DXZ_THREADS=vista)
endif ()
_register_git_cmake_library(
lzma
liblzma
"https://github.com/tukaani-project/xz.git"
"v5.8.3"
)
rcl_cmake_library_set_cmake_options(lzma ${lzma_opts})
rcl_get_effective_install_dir(lzma LIBLZMA_ROOT)
set(LIBLZMA_INCLUDE_DIR "${LIBLZMA_ROOT}/include")
set(LIBARCHIVE_STATIC_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
string(STRIP "${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}" LIBARCHIVE_STATIC_EXE_LINKER_FLAGS)
if (UNIX AND NOT APPLE AND NOT LIBARCHIVE_STATIC_EXE_LINKER_FLAGS MATCHES "(^| )-pthread( |$)")
if (LIBARCHIVE_STATIC_EXE_LINKER_FLAGS)
string(APPEND LIBARCHIVE_STATIC_EXE_LINKER_FLAGS " -pthread")
block()
set(bzip2_opts)
list(APPEND bzip2_opts -DENABLE_SHARED_LIB=OFF)
list(APPEND bzip2_opts -DENABLE_STATIC_LIB=ON)
list(APPEND bzip2_opts -DENABLE_APP=OFF)
_register_git_cmake_library(
bzip2
bzip2
"https://github.com/libarchive/bzip2"
"master"
)
rcl_cmake_library_set_cmake_options(bzip2 ${bzip2_opts})
rcl_get_effective_install_dir(bzip2 BZIP2_ROOT)
if (MSVC)
set(BZIP2_LIBRARY "${BZIP2_ROOT}/lib/bz2_static.lib")
else ()
set(LIBARCHIVE_STATIC_EXE_LINKER_FLAGS "-pthread")
set(BZIP2_LIBRARY "${BZIP2_ROOT}/lib/libbz2_static.a")
endif ()
endif ()
set(LIBLZMA_THREAD_LINK_LIBS)
set(LIBARCHIVE_LZMA_FORCE_MT_OPT)
if (MSVC)
set(LIBLZMA_LIBRARY "${LIBLZMA_ROOT}/lib/lzma.lib")
set(LIBARCHIVE_LZMA_FORCE_MT_OPT "-DHAVE_LZMA_STREAM_ENCODER_MT=1")
else ()
set(LIBLZMA_LIBRARY "${LIBLZMA_ROOT}/lib/liblzma.a")
rcl_cmake_library_set_other_use_opt(bzip2
"-DBZIP2_INCLUDE_DIR=\"${BZIP2_ROOT}/include\""
"-DBZIP2_INCLUDE_DIRS=\"${BZIP2_ROOT}/include\""
"-DBZIP2_LIBRARY=\"${BZIP2_LIBRARY}\""
"-DBZIP2_LIBRARY_RELEASE=\"${BZIP2_LIBRARY}\""
"-DBZIP2_LIBRARY_DEBUG=\"${BZIP2_LIBRARY}\""
"-DBZIP2_LIBRARIES=\"${BZIP2_LIBRARY}\""
)
rcl_cmake_library_set_init_script(bzip2
"set(LIBARCHIVE_BZIP2_ROOT \"${BZIP2_ROOT}\")"
"set(LIBARCHIVE_BZIP2_LIBRARY \"${BZIP2_LIBRARY}\")"
"set(BZIP2_ROOT \"${BZIP2_ROOT}\")"
"set(BZIP2_INCLUDE_DIR \"${BZIP2_ROOT}/include\")"
"set(BZIP2_INCLUDE_DIRS \"${BZIP2_ROOT}/include\")"
"set(BZIP2_LIBRARY \"${BZIP2_LIBRARY}\")"
"set(BZIP2_LIBRARIES \"${BZIP2_LIBRARY}\")"
)
rcl_cmake_library_set_clear_script(bzip2
"unset(LIBARCHIVE_BZIP2_ROOT)"
"unset(LIBARCHIVE_BZIP2_LIBRARY)"
"unset(BZIP2_ROOT)"
"unset(BZIP2_INCLUDE_DIR)"
"unset(BZIP2_INCLUDE_DIRS)"
"unset(BZIP2_LIBRARY)"
"unset(BZIP2_LIBRARIES)"
)
# LibLZMA / XZ Utils
set(lzma_opts
-DBUILD_SHARED_LIBS=OFF
-DBUILD_TESTING=OFF
-DXZ_DOC=OFF
-DXZ_NLS=OFF
-DXZ_TOOL_XZ=OFF
-DXZ_TOOL_XZDEC=OFF
-DXZ_TOOL_LZMADEC=OFF
-DXZ_TOOL_LZMAINFO=OFF
-DXZ_MICROLZMA_DECODER=OFF
-DXZ_MICROLZMA_ENCODER=OFF
-DXZ_LZIP_DECODER=OFF
)
if (UNIX AND NOT APPLE)
list(APPEND LIBLZMA_THREAD_LINK_LIBS "-pthread")
list(APPEND lzma_opts -DXZ_THREADS=posix)
elseif (WIN32)
list(APPEND lzma_opts -DXZ_THREADS=vista)
endif ()
endif ()
rcl_cmake_library_set_other_use_opt(lzma
"-DLIBLZMA_INCLUDE_DIR=\"${LIBLZMA_INCLUDE_DIR}\""
"-DLIBLZMA_INCLUDE_DIRS=\"${LIBLZMA_INCLUDE_DIR}\""
"-DLIBLZMA_LIBRARY=\"${LIBLZMA_LIBRARY}\""
"-DLIBLZMA_LIBRARY_RELEASE=\"${LIBLZMA_LIBRARY}\""
"-DLIBLZMA_LIBRARY_DEBUG=\"${LIBLZMA_LIBRARY}\""
"-DLIBLZMA_LIBRARIES=\"${LIBLZMA_LIBRARY}\""
"-DWITHOUT_LZMA_API_STATIC=OFF"
"-DLZMA_API_STATIC=ON"
"-DCMAKE_EXE_LINKER_FLAGS:STRING=\"${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}\""
"-DCMAKE_REQUIRED_FLAGS:STRING=\"${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}\""
"${LIBARCHIVE_LZMA_FORCE_MT_OPT}"
)
rcl_cmake_library_set_init_script(lzma
"set(LIBARCHIVE_LZMA_ROOT \"${LIBLZMA_ROOT}\")"
"set(LIBARCHIVE_LZMA_LIBRARY \"${LIBLZMA_LIBRARY}\" ${LIBLZMA_THREAD_LINK_LIBS})"
"set(LIBARCHIVE_LZMA_LIBRARIES \"${LIBLZMA_LIBRARY}\" ${LIBLZMA_THREAD_LINK_LIBS})"
"set(LIBLZMA_ROOT \"${LIBLZMA_ROOT}\")"
"set(LIBLZMA_INCLUDE_DIR \"${LIBLZMA_INCLUDE_DIR}\")"
"set(LIBLZMA_INCLUDE_DIRS \"${LIBLZMA_INCLUDE_DIR}\")"
"set(LIBLZMA_LIBRARY \"${LIBLZMA_LIBRARY}\")"
"set(LIBLZMA_LIBRARIES \"${LIBLZMA_LIBRARY}\" ${LIBLZMA_THREAD_LINK_LIBS})"
)
rcl_cmake_library_set_clear_script(lzma
"unset(LIBARCHIVE_LZMA_ROOT)"
"unset(LIBARCHIVE_LZMA_LIBRARY)"
"unset(LIBARCHIVE_LZMA_LIBRARIES)"
"unset(LIBLZMA_ROOT)"
"unset(LIBLZMA_INCLUDE_DIR)"
"unset(LIBLZMA_INCLUDE_DIRS)"
"unset(LIBLZMA_LIBRARY)"
"unset(LIBLZMA_LIBRARIES)"
)
set(lz4_opts)
list(APPEND lz4_opts "-DBUILD_SHARED_LIBS=OFF")
list(APPEND lz4_opts "-DLZ4_BUILD_CLI=OFF")
# LZ4
_register_git_cmake_library(
lz4
lz4
"https://github.com/lz4/lz4.git"
"v1.10.0"
)
rcl_cmake_library_set_cmake_options(lz4 ${lz4_opts})
rcl_cmake_library_set_cmake_source_relative_dir(lz4 "build/cmake")
rcl_get_effective_install_dir(lz4 LZ4_ROOT)
if (MSVC)
set(LZ4_LIBRARY "${LZ4_ROOT}/lib/lz4.lib")
else ()
set(LZ4_LIBRARY "${LZ4_ROOT}/lib/liblz4.a")
endif ()
rcl_cmake_library_set_other_use_opt(lz4
"-DLZ4_ROOT=\"${LZ4_ROOT}\""
"-DLZ4_INCLUDE_DIR=\"${LZ4_ROOT}/include\""
"-DLZ4_INCLUDE_DIRS=\"${LZ4_ROOT}/include\""
"-DLZ4_LIBRARY=\"${LZ4_LIBRARY}\""
"-DLZ4_LIBRARY_RELEASE=\"${LZ4_LIBRARY}\""
"-DLZ4_LIBRARY_DEBUG=\"${LZ4_LIBRARY}\""
"-DLZ4_LIBRARIES=\"${LZ4_LIBRARY}\""
)
rcl_cmake_library_set_init_script(lz4
"set(LIBARCHIVE_LZ4_ROOT \"${LZ4_ROOT}\")"
"set(LIBARCHIVE_LZ4_LIBRARY \"${LZ4_LIBRARY}\")"
"set(LZ4_ROOT \"${LZ4_ROOT}\")"
"set(LZ4_INCLUDE_DIR \"${LZ4_ROOT}/include\")"
"set(LZ4_INCLUDE_DIRS \"${LZ4_ROOT}/include\")"
"set(LZ4_LIBRARY \"${LZ4_LIBRARY}\")"
"set(LZ4_LIBRARIES \"${LZ4_LIBRARY}\")"
)
rcl_cmake_library_set_clear_script(lz4
"unset(LIBARCHIVE_LZ4_ROOT)"
"unset(LIBARCHIVE_LZ4_LIBRARY)"
"unset(LZ4_ROOT)"
"unset(LZ4_INCLUDE_DIR)"
"unset(LZ4_INCLUDE_DIRS)"
"unset(LZ4_LIBRARY)"
"unset(LZ4_LIBRARIES)"
)
set(zstd_opts
-DZSTD_BUILD_PROGRAMS=OFF
-DZSTD_BUILD_DICTBUILDER=OFF
-DZSTD_BUILD_DEPRECATED=ON
-DZSTD_LZ4_SUPPORT=OFF
-DZSTD_LZMA_SUPPORT=OFF
-DZSTD_ZLIB_SUPPORT=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
)
_register_git_cmake_library(
zstd
zstd
"https://github.com/facebook/zstd.git"
"v1.5.7"
)
rcl_cmake_library_set_cmake_options(zstd ${zstd_opts})
rcl_cmake_library_set_cmake_source_relative_dir(zstd "build/cmake")
rcl_get_effective_install_dir(zstd ZSTD_ROOT)
set(ZSTD_INCLUDE_DIR "${ZSTD_ROOT}/include")
set(ZSTD_CMAKE_DIR "${ZSTD_ROOT}/lib/cmake/zstd")
set(ZSTD_THREAD_LINK_LIBS)
if (MSVC)
set(ZSTD_LIBRARY "${ZSTD_ROOT}/lib/zstd_static.lib")
else ()
set(ZSTD_LIBRARY "${ZSTD_ROOT}/lib/libzstd.a")
list(APPEND ZSTD_THREAD_LINK_LIBS "-pthread")
endif ()
rcl_cmake_library_set_other_use_opt(zstd
"-DZSTD_ROOT=\"${ZSTD_ROOT}\""
"-Dzstd_ROOT=\"${ZSTD_ROOT}\""
"-Dzstd_DIR=\"${ZSTD_CMAKE_DIR}\""
"-DZSTD_INCLUDE_DIR=\"${ZSTD_INCLUDE_DIR}\""
"-DZSTD_INCLUDE_DIRS=\"${ZSTD_INCLUDE_DIR}\""
"-DZSTD_LIBRARY=\"${ZSTD_LIBRARY}\""
"-DZSTD_LIBRARY_RELEASE=\"${ZSTD_LIBRARY}\""
"-DZSTD_LIBRARY_DEBUG=\"${ZSTD_LIBRARY}\""
"-DZSTD_LIBRARIES=\"${ZSTD_LIBRARY}\""
"-DCMAKE_EXE_LINKER_FLAGS:STRING=\"${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}\""
)
rcl_cmake_library_set_init_script(zstd
"set(LIBARCHIVE_ZSTD_ROOT \"${ZSTD_ROOT}\")"
"set(LIBARCHIVE_ZSTD_LIBRARY \"${ZSTD_LIBRARY}\" ${ZSTD_THREAD_LINK_LIBS})"
"set(LIBARCHIVE_ZSTD_LIBRARIES \"${ZSTD_LIBRARY}\" ${ZSTD_THREAD_LINK_LIBS})"
"set(ZSTD_ROOT \"${ZSTD_ROOT}\")"
"set(zstd_ROOT \"${ZSTD_ROOT}\")"
"set(zstd_DIR \"${ZSTD_CMAKE_DIR}\")"
"set(ZSTD_INCLUDE_DIR \"${ZSTD_INCLUDE_DIR}\")"
"set(ZSTD_INCLUDE_DIRS \"${ZSTD_INCLUDE_DIR}\")"
"set(ZSTD_LIBRARY \"${ZSTD_LIBRARY}\")"
"set(ZSTD_LIBRARIES \"${ZSTD_LIBRARY}\" ${ZSTD_THREAD_LINK_LIBS})"
)
rcl_cmake_library_set_clear_script(zstd
"unset(LIBARCHIVE_ZSTD_ROOT)"
"unset(LIBARCHIVE_ZSTD_LIBRARY)"
"unset(LIBARCHIVE_ZSTD_LIBRARIES)"
"unset(ZSTD_ROOT)"
"unset(zstd_ROOT)"
"unset(zstd_DIR)"
"unset(ZSTD_INCLUDE_DIR)"
"unset(ZSTD_INCLUDE_DIRS)"
"unset(ZSTD_LIBRARY)"
"unset(ZSTD_LIBRARIES)"
)
set(expat_opts ${base_options})
list(APPEND expat_opts
-DEXPAT_BUILD_TOOLS=OFF
-DEXPAT_BUILD_EXAMPLES=OFF
-DEXPAT_BUILD_TESTS=OFF
-DEXPAT_BUILD_DOCS=OFF
-DEXPAT_BUILD_FUZZERS=OFF
-DEXPAT_BUILD_PKGCONFIG=OFF
-DEXPAT_SHARED_LIBS=OFF
-DBUILD_TESTING=OFF
-DBUILD_SHARED_LIBS=OFF
-DEXPAT_ENABLE_INSTALL=ON
)
_register_git_cmake_library(
expat
expat
"https://github.com/libexpat/libexpat.git"
"R_2_8_1"
)
rcl_cmake_library_set_cmake_options(expat ${expat_opts})
rcl_cmake_library_set_cmake_source_relative_dir(expat "expat")
rcl_get_effective_install_dir(expat EXPAT_ROOT)
if (MSVC)
set(EXPAT_STATIC_C_FLAG "/DXML_STATIC")
else ()
set(EXPAT_STATIC_C_FLAG "-DXML_STATIC")
endif ()
if (MSVC)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(EXPAT_LIBRARY "${EXPAT_ROOT}/lib/libexpatdMD.lib")
_register_git_cmake_library(
lzma
liblzma
"https://github.com/tukaani-project/xz.git"
"v5.8.3"
)
rcl_cmake_library_set_cmake_options(lzma ${lzma_opts})
rcl_get_effective_install_dir(lzma LIBLZMA_ROOT)
set(LIBLZMA_INCLUDE_DIR "${LIBLZMA_ROOT}/include")
set(LIBARCHIVE_STATIC_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
string(STRIP "${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}" LIBARCHIVE_STATIC_EXE_LINKER_FLAGS)
if (UNIX AND NOT APPLE AND NOT LIBARCHIVE_STATIC_EXE_LINKER_FLAGS MATCHES "(^| )-pthread( |$)")
if (LIBARCHIVE_STATIC_EXE_LINKER_FLAGS)
string(APPEND LIBARCHIVE_STATIC_EXE_LINKER_FLAGS " -pthread")
else ()
set(LIBARCHIVE_STATIC_EXE_LINKER_FLAGS "-pthread")
endif ()
endif ()
set(LIBLZMA_THREAD_LINK_LIBS)
set(LIBARCHIVE_LZMA_FORCE_MT_OPT)
if (MSVC)
set(LIBLZMA_LIBRARY "${LIBLZMA_ROOT}/lib/lzma.lib")
set(LIBARCHIVE_LZMA_FORCE_MT_OPT "-DHAVE_LZMA_STREAM_ENCODER_MT=1")
else ()
set(EXPAT_LIBRARY "${EXPAT_ROOT}/lib/libexpat.lib")
set(LIBLZMA_LIBRARY "${LIBLZMA_ROOT}/lib/liblzma.a")
if (UNIX AND NOT APPLE)
list(APPEND LIBLZMA_THREAD_LINK_LIBS "-pthread")
endif ()
endif ()
else ()
set(EXPAT_LIBRARY "${EXPAT_ROOT}/lib/libexpat.a")
endif ()
rcl_cmake_library_set_other_use_opt(expat
"-DEXPAT_USE_STATIC_LIBS=ON"
"-DEXPAT_INCLUDE_DIR=\"${EXPAT_ROOT}/include\""
"-DEXPAT_INCLUDE_DIRS=\"${EXPAT_ROOT}/include\""
"-DEXPAT_LIBRARY=\"${EXPAT_LIBRARY}\""
"-DEXPAT_LIBRARY_RELEASE=\"${EXPAT_LIBRARY}\""
"-DEXPAT_LIBRARY_DEBUG=\"${EXPAT_LIBRARY}\""
"-DEXPAT_LIBRARIES=\"${EXPAT_LIBRARY}\""
"-DHAVE_EXPAT_H=ON"
"-DXML_STATIC=ON"
"-DCMAKE_C_FLAGS:STRING=\"${CMAKE_C_FLAGS} ${EXPAT_STATIC_C_FLAG}\""
"-DCMAKE_CXX_FLAGS:STRING=\"${CMAKE_CXX_FLAGS} ${EXPAT_STATIC_C_FLAG}\""
)
rcl_cmake_library_set_init_script(expat
"set(LIBARCHIVE_EXPAT_ROOT \"${EXPAT_ROOT}\")"
"set(LIBARCHIVE_EXPAT_LIBRARY \"${EXPAT_LIBRARY}\")"
"set(EXPAT_ROOT \"${EXPAT_ROOT}\")"
"set(EXPAT_INCLUDE_DIR \"${EXPAT_ROOT}/include\")"
"set(EXPAT_INCLUDE_DIRS \"${EXPAT_ROOT}/include\")"
"set(EXPAT_LIBRARY \"${EXPAT_LIBRARY}\")"
"set(EXPAT_LIBRARIES \"${EXPAT_LIBRARY}\")"
"set(EXPAT_USE_STATIC_LIBS ON)"
)
rcl_cmake_library_set_clear_script(expat
"unset(LIBARCHIVE_EXPAT_ROOT)"
"unset(LIBARCHIVE_EXPAT_LIBRARY)"
"unset(EXPAT_ROOT)"
"unset(EXPAT_INCLUDE_DIR)"
"unset(EXPAT_INCLUDE_DIRS)"
"unset(EXPAT_LIBRARY)"
"unset(EXPAT_LIBRARIES)"
"unset(EXPAT_USE_STATIC_LIBS)"
)
set(libarchive_opts ${base_option_list})
list(APPEND libarchive_opts ${zlib_opts})
list(APPEND libarchive_opts
-DENABLE_ZLIB=ON
-DENABLE_BZip2=ON
-DENABLE_LZMA=ON
-DENABLE_LZ4=ON
-DENABLE_ZSTD=ON
-DENABLE_LIBB2=ON
-DENABLE_OPENSSL=ON
-DENABLE_MBEDTLS=OFF
-DENABLE_NETTLE=OFF
-DENABLE_CNG=ON
-DENABLE_LIBXML2=OFF
-DENABLE_EXPAT=ON
-DENABLE_WIN32_XMLLITE=ON
-DENABLE_PCREPOSIX=OFF
-DENABLE_PCRE2POSIX=OFF
-DPOSIX_REGEX_LIB=LIBC
-DENABLE_XATTR=OFF
-DENABLE_ACL=OFF
-DENABLE_ICONV=ON
-DENABLE_TAR=OFF
-DENABLE_CPIO=OFF
-DENABLE_CAT=OFF
-DENABLE_UNZIP=OFF
-DENABLE_TEST=OFF
-DENABLE_COVERAGE=OFF
-DENABLE_INSTALL=ON
-DBUILD_SHARED_LIBS=OFF
)
_register_git_cmake_library(
libarchive
libarchive
"https://github.com/libarchive/libarchive.git"
"v3.8.7"
)
rcl_cmake_library_set_cmake_options(libarchive ${libarchive_opts})
rcl_cmake_library_set_deps(libarchive zlib zstd lzma bzip2 lz4 expat)
rcl_get_effective_install_dir(libarchive LibArchive_Root)
set(LibArchive_INCLUDE_DIR "${LibArchive_Root}/include")
if (MSVC)
set(LibArchive_LIBRARY "${LibArchive_Root}/lib/archive.lib")
else ()
set(LibArchive_LIBRARY "${LibArchive_Root}/lib/libarchive.a")
endif ()
set(LibArchive_SUB_LIBRARIES)
set(LibArchive_SUB_LIBRARIES
${ZLIB_LIBRARY}
${BZIP2_LIBRARY}
${LIBLZMA_LIBRARY}
${LZ4_LIBRARY}
${ZSTD_LIBRARY}
${EXPAT_LIBRARY}
)
rcl_cmake_library_set_init_script(libarchive
"set(LibArchive_Root \"${LibArchive_Root}\")"
"set(LibArchive_INCLUDE_DIR \"${LibArchive_INCLUDE_DIR}\")"
"set(LibArchive_LIBRARY \"${LibArchive_LIBRARY}\")"
"find_package(LibArchive REQUIRED)"
)
rcl_cmake_library_set_clear_script(libarchive
"unset(LibArchive_Root)"
"unset(LibArchive_INCLUDE_DIR)"
"unset(LibArchive_LIBRARY)"
)
message("LibArchive_SUB_LIBRARIES ============ [${LibArchive_SUB_LIBRARIES}]")
rcl_cmake_library_set_other_use_opt(lzma
"-DLIBLZMA_INCLUDE_DIR=\"${LIBLZMA_INCLUDE_DIR}\""
"-DLIBLZMA_INCLUDE_DIRS=\"${LIBLZMA_INCLUDE_DIR}\""
"-DLIBLZMA_LIBRARY=\"${LIBLZMA_LIBRARY}\""
"-DLIBLZMA_LIBRARY_RELEASE=\"${LIBLZMA_LIBRARY}\""
"-DLIBLZMA_LIBRARY_DEBUG=\"${LIBLZMA_LIBRARY}\""
"-DLIBLZMA_LIBRARIES=\"${LIBLZMA_LIBRARY}\""
"-DWITHOUT_LZMA_API_STATIC=OFF"
"-DLZMA_API_STATIC=ON"
"-DCMAKE_EXE_LINKER_FLAGS:STRING=\"${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}\""
"-DCMAKE_REQUIRED_FLAGS:STRING=\"${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}\""
"${LIBARCHIVE_LZMA_FORCE_MT_OPT}"
)
rcl_cmake_library_set_init_script(lzma
"set(LIBARCHIVE_LZMA_ROOT \"${LIBLZMA_ROOT}\")"
"set(LIBARCHIVE_LZMA_LIBRARY \"${LIBLZMA_LIBRARY}\" ${LIBLZMA_THREAD_LINK_LIBS})"
"set(LIBARCHIVE_LZMA_LIBRARIES \"${LIBLZMA_LIBRARY}\" ${LIBLZMA_THREAD_LINK_LIBS})"
"set(LIBLZMA_ROOT \"${LIBLZMA_ROOT}\")"
"set(LIBLZMA_INCLUDE_DIR \"${LIBLZMA_INCLUDE_DIR}\")"
"set(LIBLZMA_INCLUDE_DIRS \"${LIBLZMA_INCLUDE_DIR}\")"
"set(LIBLZMA_LIBRARY \"${LIBLZMA_LIBRARY}\")"
"set(LIBLZMA_LIBRARIES \"${LIBLZMA_LIBRARY}\" ${LIBLZMA_THREAD_LINK_LIBS})"
)
rcl_cmake_library_set_clear_script(lzma
"unset(LIBARCHIVE_LZMA_ROOT)"
"unset(LIBARCHIVE_LZMA_LIBRARY)"
"unset(LIBARCHIVE_LZMA_LIBRARIES)"
"unset(LIBLZMA_ROOT)"
"unset(LIBLZMA_INCLUDE_DIR)"
"unset(LIBLZMA_INCLUDE_DIRS)"
"unset(LIBLZMA_LIBRARY)"
"unset(LIBLZMA_LIBRARIES)"
)
set(lz4_opts)
list(APPEND lz4_opts "-DBUILD_SHARED_LIBS=OFF")
list(APPEND lz4_opts "-DLZ4_BUILD_CLI=OFF")
# LZ4
_register_git_cmake_library(
lz4
lz4
"https://github.com/lz4/lz4.git"
"v1.10.0"
)
rcl_cmake_library_set_cmake_options(lz4 ${lz4_opts})
rcl_cmake_library_set_cmake_source_relative_dir(lz4 "build/cmake")
rcl_get_effective_install_dir(lz4 LZ4_ROOT)
if (MSVC)
set(LZ4_LIBRARY "${LZ4_ROOT}/lib/lz4.lib")
else ()
set(LZ4_LIBRARY "${LZ4_ROOT}/lib/liblz4.a")
endif ()
rcl_cmake_library_set_other_use_opt(lz4
"-DLZ4_ROOT=\"${LZ4_ROOT}\""
"-DLZ4_INCLUDE_DIR=\"${LZ4_ROOT}/include\""
"-DLZ4_INCLUDE_DIRS=\"${LZ4_ROOT}/include\""
"-DLZ4_LIBRARY=\"${LZ4_LIBRARY}\""
"-DLZ4_LIBRARY_RELEASE=\"${LZ4_LIBRARY}\""
"-DLZ4_LIBRARY_DEBUG=\"${LZ4_LIBRARY}\""
"-DLZ4_LIBRARIES=\"${LZ4_LIBRARY}\""
)
rcl_cmake_library_set_init_script(lz4
"set(LIBARCHIVE_LZ4_ROOT \"${LZ4_ROOT}\")"
"set(LIBARCHIVE_LZ4_LIBRARY \"${LZ4_LIBRARY}\")"
"set(LZ4_ROOT \"${LZ4_ROOT}\")"
"set(LZ4_INCLUDE_DIR \"${LZ4_ROOT}/include\")"
"set(LZ4_INCLUDE_DIRS \"${LZ4_ROOT}/include\")"
"set(LZ4_LIBRARY \"${LZ4_LIBRARY}\")"
"set(LZ4_LIBRARIES \"${LZ4_LIBRARY}\")"
)
rcl_cmake_library_set_clear_script(lz4
"unset(LIBARCHIVE_LZ4_ROOT)"
"unset(LIBARCHIVE_LZ4_LIBRARY)"
"unset(LZ4_ROOT)"
"unset(LZ4_INCLUDE_DIR)"
"unset(LZ4_INCLUDE_DIRS)"
"unset(LZ4_LIBRARY)"
"unset(LZ4_LIBRARIES)"
)
set(zstd_opts
-DZSTD_BUILD_PROGRAMS=OFF
-DZSTD_BUILD_DICTBUILDER=OFF
-DZSTD_BUILD_DEPRECATED=ON
-DZSTD_LZ4_SUPPORT=OFF
-DZSTD_LZMA_SUPPORT=OFF
-DZSTD_ZLIB_SUPPORT=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
)
_register_git_cmake_library(
zstd
zstd
"https://github.com/facebook/zstd.git"
"v1.5.7"
)
rcl_cmake_library_set_cmake_options(zstd ${zstd_opts})
rcl_cmake_library_set_cmake_source_relative_dir(zstd "build/cmake")
rcl_get_effective_install_dir(zstd ZSTD_ROOT)
set(ZSTD_INCLUDE_DIR "${ZSTD_ROOT}/include")
set(ZSTD_CMAKE_DIR "${ZSTD_ROOT}/lib/cmake/zstd")
set(ZSTD_THREAD_LINK_LIBS)
if (MSVC)
set(ZSTD_LIBRARY "${ZSTD_ROOT}/lib/zstd_static.lib")
else ()
set(ZSTD_LIBRARY "${ZSTD_ROOT}/lib/libzstd.a")
list(APPEND ZSTD_THREAD_LINK_LIBS "-pthread")
endif ()
rcl_cmake_library_set_other_use_opt(zstd
"-DZSTD_ROOT=\"${ZSTD_ROOT}\""
"-Dzstd_ROOT=\"${ZSTD_ROOT}\""
"-Dzstd_DIR=\"${ZSTD_CMAKE_DIR}\""
"-DZSTD_INCLUDE_DIR=\"${ZSTD_INCLUDE_DIR}\""
"-DZSTD_INCLUDE_DIRS=\"${ZSTD_INCLUDE_DIR}\""
"-DZSTD_LIBRARY=\"${ZSTD_LIBRARY}\""
"-DZSTD_LIBRARY_RELEASE=\"${ZSTD_LIBRARY}\""
"-DZSTD_LIBRARY_DEBUG=\"${ZSTD_LIBRARY}\""
"-DZSTD_LIBRARIES=\"${ZSTD_LIBRARY}\""
"-DCMAKE_EXE_LINKER_FLAGS:STRING=\"${LIBARCHIVE_STATIC_EXE_LINKER_FLAGS}\""
)
rcl_cmake_library_set_init_script(zstd
"set(LIBARCHIVE_ZSTD_ROOT \"${ZSTD_ROOT}\")"
"set(LIBARCHIVE_ZSTD_LIBRARY \"${ZSTD_LIBRARY}\" ${ZSTD_THREAD_LINK_LIBS})"
"set(LIBARCHIVE_ZSTD_LIBRARIES \"${ZSTD_LIBRARY}\" ${ZSTD_THREAD_LINK_LIBS})"
"set(ZSTD_ROOT \"${ZSTD_ROOT}\")"
"set(zstd_ROOT \"${ZSTD_ROOT}\")"
"set(zstd_DIR \"${ZSTD_CMAKE_DIR}\")"
"set(ZSTD_INCLUDE_DIR \"${ZSTD_INCLUDE_DIR}\")"
"set(ZSTD_INCLUDE_DIRS \"${ZSTD_INCLUDE_DIR}\")"
"set(ZSTD_LIBRARY \"${ZSTD_LIBRARY}\")"
"set(ZSTD_LIBRARIES \"${ZSTD_LIBRARY}\" ${ZSTD_THREAD_LINK_LIBS})"
)
rcl_cmake_library_set_clear_script(zstd
"unset(LIBARCHIVE_ZSTD_ROOT)"
"unset(LIBARCHIVE_ZSTD_LIBRARY)"
"unset(LIBARCHIVE_ZSTD_LIBRARIES)"
"unset(ZSTD_ROOT)"
"unset(zstd_ROOT)"
"unset(zstd_DIR)"
"unset(ZSTD_INCLUDE_DIR)"
"unset(ZSTD_INCLUDE_DIRS)"
"unset(ZSTD_LIBRARY)"
"unset(ZSTD_LIBRARIES)"
)
set(expat_opts ${base_options})
list(APPEND expat_opts
-DEXPAT_BUILD_TOOLS=OFF
-DEXPAT_BUILD_EXAMPLES=OFF
-DEXPAT_BUILD_TESTS=OFF
-DEXPAT_BUILD_DOCS=OFF
-DEXPAT_BUILD_FUZZERS=OFF
-DEXPAT_BUILD_PKGCONFIG=OFF
-DEXPAT_SHARED_LIBS=OFF
-DBUILD_TESTING=OFF
-DBUILD_SHARED_LIBS=OFF
-DEXPAT_ENABLE_INSTALL=ON
)
_register_git_cmake_library(
expat
expat
"https://github.com/libexpat/libexpat.git"
"R_2_8_1"
)
rcl_cmake_library_set_cmake_options(expat ${expat_opts})
rcl_cmake_library_set_cmake_source_relative_dir(expat "expat")
rcl_get_effective_install_dir(expat EXPAT_ROOT)
if (MSVC)
set(EXPAT_STATIC_C_FLAG "/DXML_STATIC")
else ()
set(EXPAT_STATIC_C_FLAG "-DXML_STATIC")
endif ()
if (MSVC)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(EXPAT_LIBRARY "${EXPAT_ROOT}/lib/libexpatdMD.lib")
else ()
set(EXPAT_LIBRARY "${EXPAT_ROOT}/lib/libexpat.lib")
endif ()
else ()
set(EXPAT_LIBRARY "${EXPAT_ROOT}/lib/libexpat.a")
endif ()
rcl_cmake_library_set_other_use_opt(expat
"-DEXPAT_USE_STATIC_LIBS=ON"
"-DEXPAT_INCLUDE_DIR=\"${EXPAT_ROOT}/include\""
"-DEXPAT_INCLUDE_DIRS=\"${EXPAT_ROOT}/include\""
"-DEXPAT_LIBRARY=\"${EXPAT_LIBRARY}\""
"-DEXPAT_LIBRARY_RELEASE=\"${EXPAT_LIBRARY}\""
"-DEXPAT_LIBRARY_DEBUG=\"${EXPAT_LIBRARY}\""
"-DEXPAT_LIBRARIES=\"${EXPAT_LIBRARY}\""
"-DHAVE_EXPAT_H=ON"
"-DXML_STATIC=ON"
"-DCMAKE_C_FLAGS:STRING=\"${CMAKE_C_FLAGS} ${EXPAT_STATIC_C_FLAG}\""
"-DCMAKE_CXX_FLAGS:STRING=\"${CMAKE_CXX_FLAGS} ${EXPAT_STATIC_C_FLAG}\""
)
rcl_cmake_library_set_init_script(expat
"set(LIBARCHIVE_EXPAT_ROOT \"${EXPAT_ROOT}\")"
"set(LIBARCHIVE_EXPAT_LIBRARY \"${EXPAT_LIBRARY}\")"
"set(EXPAT_ROOT \"${EXPAT_ROOT}\")"
"set(EXPAT_INCLUDE_DIR \"${EXPAT_ROOT}/include\")"
"set(EXPAT_INCLUDE_DIRS \"${EXPAT_ROOT}/include\")"
"set(EXPAT_LIBRARY \"${EXPAT_LIBRARY}\")"
"set(EXPAT_LIBRARIES \"${EXPAT_LIBRARY}\")"
"set(EXPAT_USE_STATIC_LIBS ON)"
)
rcl_cmake_library_set_clear_script(expat
"unset(LIBARCHIVE_EXPAT_ROOT)"
"unset(LIBARCHIVE_EXPAT_LIBRARY)"
"unset(EXPAT_ROOT)"
"unset(EXPAT_INCLUDE_DIR)"
"unset(EXPAT_INCLUDE_DIRS)"
"unset(EXPAT_LIBRARY)"
"unset(EXPAT_LIBRARIES)"
"unset(EXPAT_USE_STATIC_LIBS)"
)
set(libarchive_opts ${base_option_list})
list(APPEND libarchive_opts ${zlib_opts})
list(APPEND libarchive_opts
-DENABLE_ZLIB=ON
-DENABLE_BZip2=ON
-DENABLE_LZMA=ON
-DENABLE_LZ4=ON
-DENABLE_ZSTD=ON
-DENABLE_LIBB2=ON
-DENABLE_OPENSSL=ON
-DENABLE_MBEDTLS=OFF
-DENABLE_NETTLE=OFF
-DENABLE_CNG=ON
-DENABLE_LIBXML2=OFF
-DENABLE_EXPAT=ON
-DENABLE_WIN32_XMLLITE=ON
-DENABLE_PCREPOSIX=OFF
-DENABLE_PCRE2POSIX=OFF
-DPOSIX_REGEX_LIB=LIBC
-DENABLE_XATTR=OFF
-DENABLE_ACL=OFF
-DENABLE_ICONV=ON
-DENABLE_TAR=OFF
-DENABLE_CPIO=OFF
-DENABLE_CAT=OFF
-DENABLE_UNZIP=OFF
-DENABLE_TEST=OFF
-DENABLE_COVERAGE=OFF
-DENABLE_INSTALL=ON
-DBUILD_SHARED_LIBS=OFF
)
_register_git_cmake_library(
libarchive
libarchive
"https://github.com/libarchive/libarchive.git"
"v3.8.7"
)
rcl_cmake_library_set_cmake_options(libarchive ${libarchive_opts})
rcl_cmake_library_set_deps(libarchive zlib zstd lzma bzip2 lz4 expat)
rcl_get_effective_install_dir(libarchive LibArchive_Root)
set(LibArchive_INCLUDE_DIR "${LibArchive_Root}/include")
if (MSVC)
set(LibArchive_LIBRARY "${LibArchive_Root}/lib/archive.lib")
else ()
set(LibArchive_LIBRARY "${LibArchive_Root}/lib/libarchive.a")
endif ()
set(LibArchive_SUB_LIBRARIES)
set(LibArchive_SUB_LIBRARIES
${ZLIB_LIBRARY}
${BZIP2_LIBRARY}
${LIBLZMA_LIBRARY}
${LZ4_LIBRARY}
${ZSTD_LIBRARY}
${EXPAT_LIBRARY}
)
rcl_cmake_library_set_init_script(libarchive
"set(LibArchive_Root \"${LibArchive_Root}\")"
"set(LibArchive_INCLUDE_DIR \"${LibArchive_INCLUDE_DIR}\")"
"set(LibArchive_LIBRARY \"${LibArchive_LIBRARY}\")"
"find_package(LibArchive REQUIRED)"
)
rcl_cmake_library_set_clear_script(libarchive
"unset(LibArchive_Root)"
"unset(LibArchive_INCLUDE_DIR)"
"unset(LibArchive_LIBRARY)"
)
message("LibArchive_SUB_LIBRARIES ============ [${LibArchive_SUB_LIBRARIES}]")
endblock()
+262 -310
View File
@@ -1,312 +1,264 @@
include_guard(GLOBAL)
include(${CMAKE_CURRENT_LIST_DIR}/base.cmake)
set(tinyxml2_opts)
_register_git_cmake_library(
tinyxml2
tinyxml2
https://github.com/leethomason/tinyxml2.git
11.0.0
)
rcl_cmake_library_set_cmake_options(tinyxml2 ${tinyxml2_opts})
set(jsoncpp_opts ${base_options})
list(APPEND jsoncpp_opts
"-DJSONCPP_WITH_TESTS=OFF"
"-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF"
"-DJSONCPP_WITH_EXAMPLE=OFF"
"-DJSONCPP_WITH_DOC=OFF"
)
rcl_get_effective_install_dir(jsoncpp _jsoncpp_install_dir)
set(JSONCPP_ROOT ${_jsoncpp_install_dir})
set(JSONCPP_INCLUDE_DIRS ${JSONCPP_ROOT}/include)
if (MSVC)
set(JSONCPP_LIBRARIES ${JSONCPP_ROOT}/lib/jsoncpp_static.lib)
else ()
set(JSONCPP_LIBRARIES ${JSONCPP_ROOT}/lib/libjsoncpp.a)
endif ()
_register_git_cmake_library(
jsoncpp
jsoncpp
https://github.com/open-source-parsers/jsoncpp.git
"1.9.6"
)
rcl_cmake_library_set_cmake_options(jsoncpp ${jsoncpp_opts})
rcl_cmake_library_set_other_use_opt(jsoncpp
"-DJSONCPP_INCLUDE_DIRS=\"${JSONCPP_INCLUDE_DIRS}\""
"-DJSONCPP_LIBRARIES=\"${JSONCPP_LIBRARIES}\""
)
rcl_cmake_library_set_init_script(jsoncpp
"set(JSONCPP_ROOT \"${JSONCPP_ROOT}\")"
"set(JSONCPP_INCLUDE_DIRS \"${JSONCPP_INCLUDE_DIRS}\")"
"set(JSONCPP_LIBRARIES \"${JSONCPP_LIBRARIES}\")"
)
rcl_cmake_library_set_clear_script(jsoncpp
"unset(JSONCPP_ROOT)"
"unset(JSONCPP_INCLUDE_DIRS)"
"unset(JSONCPP_LIBRARIES)"
)
# 闈瀋make浠撳簱
#set(asio_opts ${base_options})
#_register_git_cmake_library_opt(
# asio
# https://github.com/chriskohlhoff/asio.git
# "asio-1-38-0"
# asio_opts
#)
set(fmt_option ${base_options})
_register_git_cmake_library(
fmt
fmt
"https://github.com/fmtlib/fmt.git"
"12.1.0"
)
rcl_cmake_library_set_cmake_options(fmt ${fmt_option})
#set(imgui_option ${base_options})
#_register_git_cmake_library_opt(
# imgui
# "https://github.com/ocornut/imgui.git"
# "v1.92.8"
# imgui_option
#)
# https://github.com/google/benchmark
#BENCHMARK_USE_BUNDLED_GTEST
set(benchmark_opt ${base_options})
list(APPEND benchmark_opt "-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON")
_register_git_cmake_library(
benchmark
benchmark
"https://github.com/google/benchmark.git"
"v1.9.5"
)
rcl_cmake_library_set_cmake_options(benchmark ${benchmark_opt})
set(mbedtls_opts ${base_options})
_register_git_cmake_library(
mbedtls
mbedtls
"https://github.com/Mbed-TLS/mbedtls.git"
"v3.6.4"
)
rcl_cmake_library_set_cmake_options(mbedtls ${mbedtls_opts})
set(libxml2_opts ${base_options})
_register_git_cmake_library(
libxml2
libxml2
"https://github.com/GNOME/libxml2.git"
"v2.15.1"
)
rcl_cmake_library_set_cmake_options(libxml2 ${libxml2_opts})
set(websocketpp_opts ${base_options})
_register_git_cmake_library(
websocketpp
websocketpp
"https://github.com/zaphoyd/websocketpp.git"
"0.8.2"
)
rcl_cmake_library_set_cmake_options(websocketpp ${websocketpp_opts})
set(trantor_opts ${base_options})
_register_git_cmake_library(
trantor
Trantor
"https://github.com/an-tao/trantor.git"
"v1.5.28"
)
rcl_cmake_library_set_cmake_options(trantor ${trantor_opts})
rcl_get_effective_install_dir(trantor _trantor_install_dir)
rcl_cmake_library_set_other_use_opt(trantor
"-DTrantor_DIR=${_trantor_install_dir}/lib/cmake/Trantor"
)
#find_path()
set(drogon_opts ${base_options})
list(APPEND drogon_opts "-DBUILD_CTL=OFF")
list(APPEND drogon_opts "-DBUILD_EXAMPLES=OFF")
list(APPEND drogon_opts "-DBUILD_ORM=OFF")
list(APPEND drogon_opts "-DCOZ_PROFILING=OFF")
list(APPEND drogon_opts "-DBUILD_SHARED_LIBS=OFF")
list(APPEND drogon_opts "-DBUILD_DOC=OFF")
list(APPEND drogon_opts "-DBUILD_BROTLI=OFF")
list(APPEND drogon_opts "-DBUILD_YAML_CONFIG=ON")
list(APPEND drogon_opts "-DUSE_SUBMODULE=OFF")
list(APPEND drogon_opts "-DUSE_STATIC_LIBS_ONLY=ON")
_register_git_cmake_library(
drogon
Drogon
"https://github.com/drogonframework/drogon.git"
"v1.9.13"
)
rcl_cmake_library_set_cmake_options(drogon ${drogon_opts})
rcl_cmake_library_set_deps(drogon libzip trantor jsoncpp zlib)
rcl_cmake_library_set_init_script(
drogon
"if (NOT TARGET std::filesystem)"
" add_library(std::filesystem INTERFACE IMPORTED GLOBAL)"
" set_property(TARGET std::filesystem APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_17)"
"endif ()"
"set(Filesystem_FOUND TRUE)"
"set(Filesystem_Final_FOUND TRUE)"
"message(drogon 加载filesystem!)"
)
set(ghc_filesystem_opts ${base_options})
_register_git_cmake_library(
ghc_filesystem
ghc_filesystem
"https://github.com/gulrak/filesystem.git"
"v1.5.14"
)
rcl_cmake_library_set_cmake_options(ghc_filesystem ${ghc_filesystem_opts})
set(cppzmq_opts ${base_options})
_register_git_cmake_library(
cppzmq
cppzmq
"https://github.com/zeromq/cppzmq.git"
"v4.11.0"
)
rcl_cmake_library_set_cmake_options(cppzmq ${cppzmq_opts})
set(eigen_opts ${base_options})
_register_git_cmake_library(
eigen
eigen
"https://github.com/eigenteam/eigen-git-mirror.git"
"3.3.7"
)
rcl_cmake_library_set_cmake_options(eigen ${eigen_opts})
set(libzmq_opts ${base_options})
_register_git_cmake_library(
libzmq
libzmq
"https://github.com/zeromq/libzmq.git"
"v4.3.5"
)
rcl_cmake_library_set_cmake_options(libzmq ${libzmq_opts})
set(protobuf_opts ${base_options})
list(APPEND protobuf_opts "-Dprotobuf_BUILD_TESTS=OFF")
list(APPEND protobuf_opts "-Dprotobuf_BUILD_SHARED_LIBS=OFF")
_register_git_cmake_library(
protobuf
protobuf
"https://github.com/protocolbuffers/protobuf.git"
"v33.2"
)
rcl_cmake_library_set_cmake_options(protobuf ${protobuf_opts})
set(gflags_opts ${base_options})
_register_git_cmake_library(
gflags
gflags
"https://github.com/gflags/gflags.git"
"v2.3.0"
)
rcl_cmake_library_set_cmake_options(gflags ${gflags_opts})
set(brpc_opts ${base_options})
_register_git_cmake_library(
brpc
brpc
"https://github.com/apache/brpc.git"
"1.15.0"
)
rcl_cmake_library_set_cmake_options(brpc ${brpc_opts})
set(ElaWidgetTools_opts ${base_options})
_register_git_cmake_library(
ElaWidgetTools
ElaWidgetTools
"https://github.com/Liniyous/ElaWidgetTools.git"
"main"
)
rcl_cmake_library_set_cmake_options(ElaWidgetTools ${ElaWidgetTools_opts})
# openvpn 渚濊禆鍗曞厓娴嬭瘯搴?set(cmocka_opts ${base_options})
_register_git_cmake_library(
cmocka
cmocka
"https://github.com/clibs/cmocka.git"
"cmocka-1.1.5"
)
rcl_cmake_library_set_cmake_options(cmocka ${cmocka_opts})
# c++23 expected搴撶殑鍓嶈韩 娌℃湁c++23鏃朵娇鐢? 鍗曞ご鏂囦欢搴?set(expected_opts ${base_options})
_register_git_cmake_library(
expected
expected
"https://github.com/palacaze/sigslot.git"
"v1.3.1"
)
rcl_cmake_library_set_cmake_options(expected ${expected_opts})
set(sigslot_opts ${base_options})
_register_git_cmake_library(
sigslot
sigslot
"https://github.com/palacaze/sigslot.git"
"v1.2.3"
)
rcl_cmake_library_set_cmake_options(sigslot ${sigslot_opts})
#浠g爜鐨刢make閲屽姞
#add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
#add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
set(SQLiteCpp_opts ${base_options})
list(APPEND SQLiteCpp_opts "-DSQLITECPP_RUN_CPPCHECK=OFF")
_register_git_cmake_library(
SQLiteCpp
SQLiteCpp
"https://github.com/SRombauts/SQLiteCpp.git"
"3.3.3"
)
rcl_cmake_library_set_cmake_options(SQLiteCpp ${SQLiteCpp_opts})
_register_git_cmake_library(
pybind11
pybind11
"https://github.com/pybind/pybind11.git"
"v3.0.4"
)
rcl_cmake_library_set_cmake_options(pybind11 ${SQLiteCpp_opts})
#set(boost_locale_opts ${base_options})
#_register_git_cmake_library_opt(
# "boost_locale"
# "https://github.com/boostorg/locale.git"
# "boost-1.91.0"
# boost_locale_opts
#)
block()
set(tinyxml2_opts)
_register_git_cmake_library(
tinyxml2
tinyxml2
https://github.com/leethomason/tinyxml2.git
11.0.0
)
rcl_cmake_library_set_cmake_options(tinyxml2 ${tinyxml2_opts})
set(jsoncpp_opts ${base_options})
list(APPEND jsoncpp_opts
"-DJSONCPP_WITH_TESTS=OFF"
"-DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF"
"-DJSONCPP_WITH_EXAMPLE=OFF"
"-DJSONCPP_WITH_DOC=OFF"
)
rcl_get_effective_install_dir(jsoncpp _jsoncpp_install_dir)
set(JSONCPP_ROOT ${_jsoncpp_install_dir})
set(JSONCPP_INCLUDE_DIRS ${JSONCPP_ROOT}/include)
if (MSVC)
set(JSONCPP_LIBRARIES ${JSONCPP_ROOT}/lib/jsoncpp_static.lib)
else ()
set(JSONCPP_LIBRARIES ${JSONCPP_ROOT}/lib/libjsoncpp.a)
endif ()
_register_git_cmake_library(
jsoncpp
jsoncpp
https://github.com/open-source-parsers/jsoncpp.git
"1.9.6"
)
rcl_cmake_library_set_cmake_options(jsoncpp ${jsoncpp_opts})
rcl_cmake_library_set_other_use_opt(jsoncpp
"-DJSONCPP_INCLUDE_DIRS=\"${JSONCPP_INCLUDE_DIRS}\""
"-DJSONCPP_LIBRARIES=\"${JSONCPP_LIBRARIES}\""
)
rcl_cmake_library_set_init_script(jsoncpp
"set(JSONCPP_ROOT \"${JSONCPP_ROOT}\")"
"set(JSONCPP_INCLUDE_DIRS \"${JSONCPP_INCLUDE_DIRS}\")"
"set(JSONCPP_LIBRARIES \"${JSONCPP_LIBRARIES}\")"
)
rcl_cmake_library_set_clear_script(jsoncpp
"unset(JSONCPP_ROOT)"
"unset(JSONCPP_INCLUDE_DIRS)"
"unset(JSONCPP_LIBRARIES)"
)
# 闈瀋make浠撳簱
#set(asio_opts ${base_options})
#_register_git_cmake_library_opt(
# asio
# https://github.com/chriskohlhoff/asio.git
# "asio-1-38-0"
# asio_opts
#)
set(fmt_option ${base_options})
_register_git_cmake_library(
fmt
fmt
"https://github.com/fmtlib/fmt.git"
"12.1.0"
)
rcl_cmake_library_set_cmake_options(fmt ${fmt_option})
#set(imgui_option ${base_options})
#_register_git_cmake_library_opt(
# imgui
# "https://github.com/ocornut/imgui.git"
# "v1.92.8"
# imgui_option
#)
# https://github.com/google/benchmark
#BENCHMARK_USE_BUNDLED_GTEST
set(benchmark_opt ${base_options})
list(APPEND benchmark_opt "-DBENCHMARK_DOWNLOAD_DEPENDENCIES=ON")
_register_git_cmake_library(
benchmark
benchmark
"https://github.com/google/benchmark.git"
"v1.9.5"
)
rcl_cmake_library_set_cmake_options(benchmark ${benchmark_opt})
set(mbedtls_opts ${base_options})
_register_git_cmake_library(
mbedtls
mbedtls
"https://github.com/Mbed-TLS/mbedtls.git"
"v3.6.4"
)
rcl_cmake_library_set_cmake_options(mbedtls ${mbedtls_opts})
set(libxml2_opts ${base_options})
_register_git_cmake_library(
libxml2
libxml2
"https://github.com/GNOME/libxml2.git"
"v2.15.1"
)
rcl_cmake_library_set_cmake_options(libxml2 ${libxml2_opts})
set(websocketpp_opts ${base_options})
_register_git_cmake_library(
websocketpp
websocketpp
"https://github.com/zaphoyd/websocketpp.git"
"0.8.2"
)
rcl_cmake_library_set_cmake_options(websocketpp ${websocketpp_opts})
set(trantor_opts ${base_options})
_register_git_cmake_library(
trantor
Trantor
"https://github.com/an-tao/trantor.git"
"v1.5.28"
)
rcl_cmake_library_set_cmake_options(trantor ${trantor_opts})
rcl_get_effective_install_dir(trantor _trantor_install_dir)
rcl_cmake_library_set_other_use_opt(trantor
"-DTrantor_DIR=${_trantor_install_dir}/lib/cmake/Trantor"
)
#find_path()
set(drogon_opts ${base_options})
list(APPEND drogon_opts "-DBUILD_CTL=OFF")
list(APPEND drogon_opts "-DBUILD_EXAMPLES=OFF")
list(APPEND drogon_opts "-DBUILD_ORM=OFF")
list(APPEND drogon_opts "-DCOZ_PROFILING=OFF")
list(APPEND drogon_opts "-DBUILD_SHARED_LIBS=OFF")
list(APPEND drogon_opts "-DBUILD_DOC=OFF")
list(APPEND drogon_opts "-DBUILD_BROTLI=OFF")
list(APPEND drogon_opts "-DBUILD_YAML_CONFIG=ON")
list(APPEND drogon_opts "-DUSE_SUBMODULE=OFF")
list(APPEND drogon_opts "-DUSE_STATIC_LIBS_ONLY=ON")
_register_git_cmake_library(
drogon
Drogon
"https://github.com/drogonframework/drogon.git"
"v1.9.13"
)
rcl_cmake_library_set_cmake_options(drogon ${drogon_opts})
rcl_cmake_library_set_deps(drogon libzip trantor jsoncpp zlib)
rcl_cmake_library_set_init_script(
drogon
"if (NOT TARGET std::filesystem)"
" add_library(std::filesystem INTERFACE IMPORTED GLOBAL)"
" set_property(TARGET std::filesystem APPEND PROPERTY INTERFACE_COMPILE_FEATURES cxx_std_17)"
"endif ()"
"set(Filesystem_FOUND TRUE)"
"set(Filesystem_Final_FOUND TRUE)"
"message(drogon 加载filesystem!)"
)
set(ghc_filesystem_opts ${base_options})
_register_git_cmake_library(
ghc_filesystem
ghc_filesystem
"https://github.com/gulrak/filesystem.git"
"v1.5.14"
)
rcl_cmake_library_set_cmake_options(ghc_filesystem ${ghc_filesystem_opts})
set(cppzmq_opts ${base_options})
_register_git_cmake_library(
cppzmq
cppzmq
"https://github.com/zeromq/cppzmq.git"
"v4.11.0"
)
rcl_cmake_library_set_cmake_options(cppzmq ${cppzmq_opts})
set(eigen_opts ${base_options})
_register_git_cmake_library(
eigen
eigen
"https://github.com/eigenteam/eigen-git-mirror.git"
"3.3.7"
)
rcl_cmake_library_set_cmake_options(eigen ${eigen_opts})
set(libzmq_opts ${base_options})
_register_git_cmake_library(
libzmq
libzmq
"https://github.com/zeromq/libzmq.git"
"v4.3.5"
)
rcl_cmake_library_set_cmake_options(libzmq ${libzmq_opts})
set(protobuf_opts ${base_options})
list(APPEND protobuf_opts "-Dprotobuf_BUILD_TESTS=OFF")
list(APPEND protobuf_opts "-Dprotobuf_BUILD_SHARED_LIBS=OFF")
_register_git_cmake_library(
protobuf
protobuf
"https://github.com/protocolbuffers/protobuf.git"
"v33.2"
)
rcl_cmake_library_set_cmake_options(protobuf ${protobuf_opts})
set(gflags_opts ${base_options})
_register_git_cmake_library(
gflags
gflags
"https://github.com/gflags/gflags.git"
"v2.3.0"
)
rcl_cmake_library_set_cmake_options(gflags ${gflags_opts})
set(brpc_opts ${base_options})
_register_git_cmake_library(
brpc
brpc
"https://github.com/apache/brpc.git"
"1.15.0"
)
rcl_cmake_library_set_cmake_options(brpc ${brpc_opts})
set(ElaWidgetTools_opts ${base_options})
_register_git_cmake_library(
ElaWidgetTools
ElaWidgetTools
"https://github.com/Liniyous/ElaWidgetTools.git"
"main"
)
rcl_cmake_library_set_cmake_options(ElaWidgetTools ${ElaWidgetTools_opts})
# openvpn 渚濊禆鍗曞厓娴嬭瘯搴?set(cmocka_opts ${base_options})
_register_git_cmake_library(
cmocka
cmocka
"https://github.com/clibs/cmocka.git"
"cmocka-1.1.5"
)
rcl_cmake_library_set_cmake_options(cmocka ${cmocka_opts})
# c++23 expected搴撶殑鍓嶈韩 娌℃湁c++23鏃朵娇鐢? 鍗曞ご鏂囦欢搴?set(expected_opts ${base_options})
_register_git_cmake_library(
expected
expected
"https://github.com/palacaze/sigslot.git"
"v1.3.1"
)
rcl_cmake_library_set_cmake_options(expected ${expected_opts})
set(sigslot_opts ${base_options})
_register_git_cmake_library(
sigslot
sigslot
"https://github.com/palacaze/sigslot.git"
"v1.2.3"
)
rcl_cmake_library_set_cmake_options(sigslot ${sigslot_opts})
#浠g爜鐨刢make閲屽姞
#add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
#add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
set(SQLiteCpp_opts ${base_options})
list(APPEND SQLiteCpp_opts "-DSQLITECPP_RUN_CPPCHECK=OFF")
_register_git_cmake_library(
SQLiteCpp
SQLiteCpp
"https://github.com/SRombauts/SQLiteCpp.git"
"3.3.3"
)
rcl_cmake_library_set_cmake_options(SQLiteCpp ${SQLiteCpp_opts})
_register_git_cmake_library(
pybind11
pybind11
"https://github.com/pybind/pybind11.git"
"v3.0.4"
)
rcl_cmake_library_set_cmake_options(pybind11 ${SQLiteCpp_opts})
#set(boost_locale_opts ${base_options})
#_register_git_cmake_library_opt(
# "boost_locale"
# "https://github.com/boostorg/locale.git"
# "boost-1.91.0"
# boost_locale_opts
#)
endblock()