CMake: Support thirdparty packages on systems other than Windows/macOS

This commit is contained in:
rdb 2022-03-09 14:04:09 +01:00
parent 683c54938c
commit 59f422c056

View File

@ -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.")