Skip to content

Commit ed01568

Browse files
authored
Detect OS/Arch
1 parent f7364c2 commit ed01568

File tree

1 file changed

+27
-5
lines changed

1 file changed

+27
-5
lines changed

CMakeLists.txt

+27-5
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,34 @@ cmake_minimum_required(VERSION 3.5)
33
set(TARGET_NAME wvlet)
44
find_package(OpenSSL REQUIRED)
55

6-
# Define wvlet library details for both static and dynamic
7-
set(WVLET_STATIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/nightly/libwvlet.a")
8-
set(WVLET_DYNAMIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/nightly/libwvlet.so")
6+
# Detect system and architecture
7+
message(STATUS "Detecting system and architecture...")
8+
set(WVLET_STATIC_URL "")
9+
set(WVLET_DYNAMIC_URL "")
910

10-
set(WVLET_STATIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/libwvlet.a")
11-
set(WVLET_DYNAMIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/libwvlet.so")
11+
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
12+
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
13+
set(WVLET_STATIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/latest/linux-x64_libwvlet.a")
14+
set(WVLET_STATIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/linux-x64_libwvlet.a")
15+
set(WVLET_DYNAMIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/latest/linux-x64_libwvlet.so")
16+
set(WVLET_DYNAMIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/linux-x64_libwvlet.so")
17+
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
18+
set(WVLET_STATIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/latest/linux-arm64_libwvlet.a")
19+
set(WVLET_STATIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/linux-arm64_libwvlet.a")
20+
set(WVLET_DYNAMIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/latest/linux-arm64_libwvlet.so")
21+
set(WVLET_DYNAMIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/linux-arm64_libwvlet.so")
22+
endif()
23+
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
24+
set(WVLET_STATIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/latest/mac-arm64_libwvlet.a")
25+
set(WVLET_STATIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/mac-arm64_libwvlet.a")
26+
set(WVLET_DYNAMIC_URL "https://github.com/quackmagic/wvlet-lib/releases/download/latest/mac-arm64_libwvlet.dylib")
27+
set(WVLET_DYNAMIC_PATH "${CMAKE_CURRENT_SOURCE_DIR}/third-party/mac-arm64_libwvlet.dylib")
28+
else()
29+
message(FATAL_ERROR "Unsupported system: ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR}")
30+
endif()
31+
32+
# (CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
33+
# (CMAKE_SYSTEM_NAME STREQUAL "Windows")
1234

1335
# Function to download library if it doesn't exist
1436
function(download_library url path)

0 commit comments

Comments
 (0)