171 lines
6.0 KiB
CMake
171 lines
6.0 KiB
CMake
include_guard(GLOBAL)
|
|
block()
|
|
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(global::zlib
|
|
https://github.com/madler/zlib.git
|
|
v1.3.1
|
|
)
|
|
rcl_get_effective_install_dir(global::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(global::zlib ${zlib_opts})
|
|
rcl_cmake_library_set_other_use_opt(global::zlib
|
|
"-DZLIB_ROOT=\"${ZLIB_ROOT}\""
|
|
"-DZLIB_LIBRARY=\"${ZLIB_LIBRARY}\""
|
|
"-DZLIB_INCLUDE_DIR=\"${ZLIB_ROOT}/include\""
|
|
)
|
|
rcl_cmake_library_set_init_script(global::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(global::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(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")
|
|
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 ()
|
|
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
|
|
https://github.com/google/googletest.git
|
|
v1.17.0
|
|
)
|
|
rcl_cmake_library_set_cmake_options(global::GTest ${GTest_opts})
|
|
set(GTest_DIR ${EXTERNAL_INSTALL_DIR}/GTest/lib/cmake)
|
|
#_register_git_cmake_library(global::# 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(global::libzip
|
|
"https://github.com/nih-at/libzip"
|
|
"v1.11.4"
|
|
)
|
|
rcl_cmake_library_set_cmake_options(global::libzip ${libzip_opts})
|
|
rcl_cmake_library_set_deps(global::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(global::spdlog
|
|
"https://github.com/gabime/spdlog.git"
|
|
"v1.17.0"
|
|
)
|
|
rcl_cmake_library_set_cmake_options(global::spdlog ${spdlog_opts})
|
|
_register_git_cmake_library(global::llvm
|
|
"https://github.com/llvm/llvm-project.git"
|
|
"llvmorg-22.1.8"
|
|
)
|
|
rcl_cmake_library_set_cmake_source_relative_dir(global::llvm "llvm")
|
|
set(magic_enum_opts)
|
|
list(APPEND magic_enum_opts
|
|
"-DMAGIC_ENUM_OPT_BUILD_EXAMPLES=OFF"
|
|
"-DMAGIC_ENUM_OPT_BUILD_TESTS=OFF"
|
|
"-DMAGIC_ENUM_OPT_INSTALL=ON"
|
|
"-DMAGIC_ENUM_OPT_INSTALL_PACKAGE_XML=OFF"
|
|
)
|
|
_register_git_cmake_library(global::magic_enum
|
|
"https://github.com/Neargye/magic_enum.git"
|
|
"v0.9.8"
|
|
)
|
|
rcl_cmake_library_set_cmake_options(global::magic_enum ${magic_enum_opts})
|
|
set(pfr_opts
|
|
"-DBUILD_TESTING=OFF"
|
|
"-DBOOST_USE_MODULES=OFF"
|
|
)
|
|
_register_git_cmake_library(global::pfr
|
|
"https://github.com/boostorg/pfr.git"
|
|
"2.2.0"
|
|
)
|
|
rcl_cmake_library_set_cmake_options(global::pfr ${pfr_opts})
|
|
message("base.cmake load complete!")
|
|
endblock() |