diff --git a/0_cmake_library/register/base.cmake b/0_cmake_library/register/base.cmake index a42ecd9..04eab8f 100644 --- a/0_cmake_library/register/base.cmake +++ b/0_cmake_library/register/base.cmake @@ -49,7 +49,12 @@ block() # libpng # ========================= set(LIBPNG_VERSION v1.6.58) - set(PNG_ROOT "${EXTERNAL_INSTALL_DIR}/PNG_${LIBPNG_VERSION}") + set(libpng_opts) + _register_git_cmake_library(global::libpng + https://github.com/glennrp/libpng.git + ${LIBPNG_VERSION} + ) + rcl_get_effective_install_dir(global::libpng PNG_ROOT) set(PNG_PNG_INCLUDE_DIR "${PNG_ROOT}/include") if (WIN32) if (CMAKE_BUILD_TYPE STREQUAL "Debug") @@ -64,24 +69,29 @@ block() 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(global::libpng - https://github.com/glennrp/libpng.git - v1.6.58 + list(APPEND libpng_opts + -DPNG_SHARED=OFF + -DPNG_STATIC=ON + -DPNG_TESTS=OFF + -DPNG_TOOLS=OFF + -DPNG_EXECUTABLES=OFF + "-DZLIB_ROOT=${ZLIB_ROOT}" + "-DZLIB_LIBRARY=${ZLIB_LIBRARY}" + "-DZLIB_INCLUDE_DIR=${ZLIB_INCLUDE_DIR}" ) rcl_cmake_library_set_cmake_options(global::libpng ${libpng_opts}) rcl_cmake_library_set_other_use_opt(global::libpng "-DPNG_LIBRARY=\"${PNG_LIBRARY}\"" "-DPNG_PNG_INCLUDE_DIR=\"${PNG_PNG_INCLUDE_DIR}\"" ) + rcl_cmake_library_set_init_script(global::libpng + "set(PNG_LIBRARY \"${PNG_LIBRARY}\")" + "set(PNG_PNG_INCLUDE_DIR \"${PNG_PNG_INCLUDE_DIR}\")" + ) + rcl_cmake_library_set_clear_script(global::libpng + "unset(PNG_LIBRARY)" + "unset(PNG_PNG_INCLUDE_DIR)" + ) set(GTest_opts) list(APPEND GTest_opts "-Dgtest_force_shared_crt=ON") _register_git_cmake_library(global::GTest diff --git a/0_cmake_library/register/computer_graphics.cmake b/0_cmake_library/register/computer_graphics.cmake index fbab7d8..77767e0 100644 --- a/0_cmake_library/register/computer_graphics.cmake +++ b/0_cmake_library/register/computer_graphics.cmake @@ -46,7 +46,7 @@ block() "cmake" ) rcl_cmake_library_set_cmake_options(global::PThreads4W ${PThreads4W_option}) - # C:\VulkanSDK\1.4.350.0 + # C:\VulkanSDK\1.4.357.0 # SDK涓嬭浇 https://vulkan.lunarg.com/sdk/home # https://docs.vulkan.org/tutorial/latest/00_Introduction.html # https://github.com/Overv/VulkanTutorial.git @@ -100,13 +100,13 @@ block() set(vk-bootstrap_option ${base_options}) _register_git_cmake_library(global::vk-bootstrap "https://github.com/charles-lunarg/vk-bootstrap.git" - "v1.4.350" + "v1.4.357" ) rcl_cmake_library_set_cmake_options(global::vk-bootstrap ${vk-bootstrap_option}) set(Vulkan-Hpp_option ${base_options}) _register_git_cmake_library(global::Vulkan-Hpp "https://github.com/KhronosGroup/Vulkan-Hpp.git" - "v1.4.350" + "v1.4.357" ) rcl_cmake_library_set_cmake_options(global::Vulkan-Hpp ${Vulkan-Hpp_option}) set(volk_option ${base_options}) @@ -117,7 +117,7 @@ block() #list(APPEND volk_option "-DVOLK_STATIC_DEFINES=VK_USE_PLATFORM_WIN32_KHR") _register_git_cmake_library(global::volk "https://github.com/zeux/volk.git" - "vulkan-sdk-1.4.350.0" + "vulkan-sdk-1.4.357.0" ) rcl_cmake_library_set_cmake_options(global::volk ${volk_option}) # vma diff --git a/0_cmake_library/register/register_library.cmake b/0_cmake_library/register/register_library.cmake index b2dd1b5..84c08ba 100644 --- a/0_cmake_library/register/register_library.cmake +++ b/0_cmake_library/register/register_library.cmake @@ -1,10 +1,27 @@ include_guard(GLOBAL) include("${CMAKE_CURRENT_LIST_DIR}/base.cmake") block() - set(tinyxml2_opts) + 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(global::tinyxml2 - https://github.com/leethomason/tinyxml2.git - 11.0.0 + "https://github.com/leethomason/tinyxml2.git" + "11.0.0" + ) + rcl_get_effective_install_dir(global::tinyxml2 TINYXML2_ROOT) + set(TINYXML2_CONFIG_DIR "${TINYXML2_ROOT}/lib/cmake/tinyxml2") + rcl_cmake_library_set_cmake_options(global::tinyxml2 ${tinyxml2_opts}) + rcl_cmake_library_set_other_use_opt(global::tinyxml2 + "-Dtinyxml2_DIR=\"${TINYXML2_CONFIG_DIR}\"" + ) + rcl_cmake_library_set_init_script(global::tinyxml2 + "set(tinyxml2_DIR \"${TINYXML2_CONFIG_DIR}\")" + ) + rcl_cmake_library_set_clear_script(global::tinyxml2 + "unset(tinyxml2_DIR)" ) rcl_cmake_library_set_cmake_options(global::tinyxml2 ${tinyxml2_opts}) set(jsoncpp_opts ${base_options}) @@ -170,13 +187,11 @@ block() "1.15.0" ) rcl_cmake_library_set_cmake_options(global::brpc ${brpc_opts}) - _register_git_cmake_library(global::cmocka "https://github.com/clibs/cmocka.git" "cmocka-1.1.5" ) rcl_cmake_library_set_cmake_options(global::cmocka ${cmocka_opts}) - _register_git_cmake_library(global::expected "https://github.com/palacaze/sigslot.git" "v1.3.1" @@ -188,7 +203,6 @@ block() "v1.2.3" ) rcl_cmake_library_set_cmake_options(global::sigslot ${sigslot_opts}) - #add_compile_options("$<$:/utf-8>") #add_compile_options("$<$:/utf-8>") set(SQLiteCpp_opts ${base_options}) @@ -210,6 +224,4 @@ block() # "boost-1.91.0" # boost_locale_opts #) - - endblock() \ No newline at end of file diff --git a/0_cmake_library/register_libaray/rcl_register_ex.cmake b/0_cmake_library/register_libaray/rcl_register_ex.cmake index ec0c708..f6d1fdb 100644 --- a/0_cmake_library/register_libaray/rcl_register_ex.cmake +++ b/0_cmake_library/register_libaray/rcl_register_ex.cmake @@ -497,6 +497,7 @@ function(rcl_add_dependency_action_targets_with_depth target_name dependency_dep add_custom_target("${target_name}") endif () __rcl_add_unique_target_dependencies("${target_name}" ${_dependency_action_targets}) + message("${B}__rcl_add_unique_target_dependencies${E} ${target_name} -> ${_dependency_action_targets}") endfunction() # API: rcl_add_dependency_action_targets( [library_names...]) # 作用: 递归加载指定库及全部间接依赖的单库 auto target,并创建去重后的 CMake target 依赖图。