Skip to content

Commit 4e3d8d3

Browse files
committed
xz: cmake build
1 parent 110cc17 commit 4e3d8d3

File tree

3 files changed

+49
-22
lines changed

3 files changed

+49
-22
lines changed

CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.20...3.23)
33

44
# -- must override compiler to be gcc on Linux and clang on Macos.
55
# otherwise, Autotools is too shaky.
6-
# Intel complier icx/icpx works but is more than 100x slower to build.
6+
# Intel compiler icx/icpx works but is more than 100x slower to build.
77
if(APPLE)
88
set(CC clang)
99
set(CMAKE_C_COMPILER clang)

libraries.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
"tag": "OpenSSL_1_1_1m"
2525
},
2626
"xz": {
27-
"url": "https://tukaani.org/xz/xz-5.2.5.tar.xz",
28-
"sha256": "3e1e518ffc912f86608a8cb35e4bd41ad1aec210df2a47aaa1f95e7f5576ef56"
27+
"git": "https://github.com/xz-mirror/xz.git",
28+
"tag": "v5.2.5"
2929
},
3030
"zlib": {
3131
"url" : "https://github.com/zlib-ng/zlib-ng/archive/refs/tags/2.0.6.tar.gz",

lzma.cmake

+46-19
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,49 @@
44

55
include(ExternalProject)
66

7-
string(JSON xz_url GET ${json_meta} xz url)
8-
string(JSON xz_sha256 GET ${json_meta} xz sha256)
9-
10-
set(xz_args
11-
--prefix=${CMAKE_INSTALL_PREFIX}
12-
--disable-doc
13-
CC=${CC}
14-
)
15-
16-
ExternalProject_Add(xz
17-
URL ${xz_url}
18-
URL_HASH SHA256=${xz_sha256}
19-
CONFIGURE_COMMAND <SOURCE_DIR>/configure ${xz_args} CFLAGS=${CMAKE_C_FLAGS} LDFLAGS=${LDFLAGS}
20-
BUILD_COMMAND ${MAKE_EXECUTABLE} -j
21-
INSTALL_COMMAND ${MAKE_EXECUTABLE} -j install
22-
TEST_COMMAND ""
23-
CONFIGURE_HANDLED_BY_BUILD ON
24-
INACTIVITY_TIMEOUT 15
25-
)
7+
string(JSON xz_url GET ${json_meta} xz git)
8+
string(JSON xz_tag GET ${json_meta} xz tag)
9+
10+
11+
set(xz_build_system cmake)
12+
13+
if(xz_build_system STREQUAL cmake)
14+
15+
set(xz_cmake_args
16+
-DBUILD_TESTING:BOOL=false
17+
-DCMAKE_BUILD_TYPE=Release
18+
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
19+
-DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
20+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
21+
)
22+
23+
ExternalProject_Add(xz
24+
GIT_REPOSITORY ${xz_url}
25+
GIT_TAG ${xz_tag}
26+
GIT_SHALLOW true
27+
TEST_COMMAND ""
28+
CMAKE_ARGS ${xz_cmake_args}
29+
CONFIGURE_HANDLED_BY_BUILD ON
30+
INACTIVITY_TIMEOUT 15
31+
)
32+
33+
else()
34+
35+
set(xz_args
36+
--prefix=${CMAKE_INSTALL_PREFIX}
37+
--disable-doc
38+
CC=${CC}
39+
)
40+
41+
ExternalProject_Add(xz
42+
URL ${xz_url}
43+
URL_HASH SHA256=${xz_sha256}
44+
CONFIGURE_COMMAND <SOURCE_DIR>/configure ${xz_args} CFLAGS=${CMAKE_C_FLAGS} LDFLAGS=${LDFLAGS}
45+
BUILD_COMMAND ${MAKE_EXECUTABLE} -j
46+
INSTALL_COMMAND ${MAKE_EXECUTABLE} -j install
47+
TEST_COMMAND ""
48+
CONFIGURE_HANDLED_BY_BUILD ON
49+
INACTIVITY_TIMEOUT 15
50+
)
51+
52+
endif()

0 commit comments

Comments
 (0)