From 59f422c056d83c362c873cbd4afe68bbb3b6d033 Mon Sep 17 00:00:00 2001 From: rdb Date: Wed, 9 Mar 2022 14:04:09 +0100 Subject: [PATCH] CMake: Support thirdparty packages on systems other than Windows/macOS --- dtool/Package.cmake | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/dtool/Package.cmake b/dtool/Package.cmake index 293b1d7090..02d5558956 100644 --- a/dtool/Package.cmake +++ b/dtool/Package.cmake @@ -1,5 +1,5 @@ set(_thirdparty_dir_default "${PROJECT_SOURCE_DIR}/thirdparty") -if(NOT (APPLE OR WIN32) OR NOT IS_DIRECTORY "${_thirdparty_dir_default}") +if(NOT IS_DIRECTORY "${_thirdparty_dir_default}") set(_thirdparty_dir_default "") endif() @@ -47,6 +47,27 @@ if(THIRDPARTY_DIRECTORY) set(BISON_ROOT "${THIRDPARTY_DIRECTORY}/win-util") set(FLEX_ROOT "${THIRDPARTY_DIRECTORY}/win-util") + elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + set(_package_dir ${THIRDPARTY_DIRECTORY}/linux-libs-arm64) + elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(_package_dir ${THIRDPARTY_DIRECTORY}/linux-libs-x64) + else() + set(_package_dir ${THIRDPARTY_DIRECTORY}/linux-libs-a) + endif() + + elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") + if(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64") + set(_package_dir ${THIRDPARTY_DIRECTORY}/freebsd-libs-arm64) + elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(_package_dir ${THIRDPARTY_DIRECTORY}/freebsd-libs-x64) + else() + set(_package_dir ${THIRDPARTY_DIRECTORY}/freebsd-libs-a) + endif() + + elseif(CMAKE_SYSTEM_NAME STREQUAL "Android") + set(_package_dir ${THIRDPARTY_DIRECTORY}/android-libs-${CMAKE_ANDROID_ARCH}) + else() message(FATAL_ERROR "You can't use THIRDPARTY_DIRECTORY on this platform. Unset it to continue.")