28 lines
1010 B
CMake
28 lines
1010 B
CMake
# cmake/FetchDependenciesLinux.cmake
|
|
|
|
set(THIRDPARTY_DIR "${CMAKE_CURRENT_LIST_DIR}/../thirdparty")
|
|
|
|
if(NOT EXISTS "${THIRDPARTY_DIR}")
|
|
file(MAKE_DIRECTORY "${THIRDPARTY_DIR}")
|
|
endif()
|
|
|
|
macro(check_and_download URL ARCHIVE_NAME EXTRACTED_DIR_NAME CHECK_FILE)
|
|
set(ARCHIVE_PATH "${THIRDPARTY_DIR}/${ARCHIVE_NAME}")
|
|
set(SRC_PATH "${THIRDPARTY_DIR}/${EXTRACTED_DIR_NAME}")
|
|
|
|
if(NOT EXISTS "${ARCHIVE_PATH}")
|
|
message(STATUS "Downloading ${ARCHIVE_NAME}...")
|
|
file(DOWNLOAD "${URL}" "${ARCHIVE_PATH}" SHOW_PROGRESS)
|
|
endif()
|
|
|
|
if(NOT EXISTS "${SRC_PATH}/${CHECK_FILE}")
|
|
message(STATUS "Extracting ${ARCHIVE_NAME}...")
|
|
execute_process(
|
|
COMMAND ${CMAKE_COMMAND} -E tar xvf "${ARCHIVE_PATH}"
|
|
WORKING_DIRECTORY "${THIRDPARTY_DIR}"
|
|
)
|
|
endif()
|
|
endmacro()
|
|
|
|
# 1) sol2 (header-only C++ bindings for Lua)
|
|
check_and_download("https://github.com/ThePhD/sol2/archive/refs/tags/v3.3.0.zip" "sol2-v3.3.0.zip" "sol2-3.3.0" "include/sol/sol.hpp") |