优化cmake
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||
#add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||
set(SQLiteCpp_opts ${base_options})
|
||||
@@ -210,6 +224,4 @@ block()
|
||||
# "boost-1.91.0"
|
||||
# boost_locale_opts
|
||||
#)
|
||||
|
||||
|
||||
endblock()
|
||||
@@ -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(<target_name> [library_names...])
|
||||
# 作用: 递归加载指定库及全部间接依赖的单库 auto target,并创建去重后的 CMake target 依赖图。
|
||||
|
||||
Reference in New Issue
Block a user