d777714fd1
因为 llvm clang源码cmakelist 不支持 里面汇编也不支持
186 lines
4.7 KiB
CMake
186 lines
4.7 KiB
CMake
include_guard(GLOBAL)
|
|
|
|
|
|
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|
if (NOT CMAKE_SYSROOT)
|
|
set(CMAKE_SYSROOT /)
|
|
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")
|
|
else ()
|
|
set(ZLIB_LIBRARY "${ZLIB_ROOT}/lib/zlibstatic.lib")
|
|
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")
|
|
else ()
|
|
set(PNG_LIBRARY "${PNG_ROOT}/lib/libpng16_static.lib")
|
|
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!")
|