Skip to content

Commit 527fc16

Browse files
authored
Merge pull request #4586 from thewtex/castxml-bump-0.6.5
COMP: Bump CastXML to 0.6.5, LLVM to 18.1.3
2 parents a6b0fa2 + 44a6bee commit 527fc16

File tree

1 file changed

+72
-46
lines changed

1 file changed

+72
-46
lines changed

Wrapping/Generators/CastXML/CMakeLists.txt

Lines changed: 72 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -21,46 +21,36 @@ else()
2121
set(_download_castxml_binaries 0)
2222
set(_castxml_url)
2323
set(_castxml_hash)
24-
set(_castxml_version 0.4.8)
24+
set(_castxml_version 0.6.5)
2525

2626
# If 64 bit Linux build host, use the CastXML binary
2727
if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64")
2828

2929
set(_castxml_hash
30-
c8d57ee92078dd8e98cb6f1ec43618c5ed137cb3c3790352f99ca78ee3caa3918387293e20dc3f84661f0937d78989844c58ca985e840a772d9256c6626607f4
30+
592fcb6c7f85b6a1670cef7e0692ec6d1c9ba2e250825032ed6dcf9581aa169540eded608510aa1208ea1174df48c16390ee7daf7a17c7114d93a83a8a8e109b
3131
)
3232
set(_castxml_url
3333
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-linux.tar.gz")
3434
set(_download_castxml_binaries 1)
3535
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64")
3636

3737
set(_castxml_hash
38-
953bbaac7b3eabe31fa14ec18119d91989672a210e3844bb612bca7e83008305d9c46fe2c9fbef5c8fd1bc8282bc638960c5083e502e16209eb4973bca3cda8c
38+
229d5339e217660f09dd87e2e639d666921a8c4e6c328a754dcae4290bba6bcac9d3b8e953814314ecdbf908d5d8e0d7dacbf1fdf6040a2e20d7acb98fb32f7d
3939
)
4040
set(_castxml_url
41-
"https://data.kitware.com/api/v1/file/6617cf3c2357cf6b55ca8dd3/download"
42-
)
41+
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-linux-aarch64.tar.gz")
4342
set(_download_castxml_binaries 1)
4443

4544
# If 64 bit Windows build host, use the CastXML binary
4645
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Windows" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "AMD64")
4746

48-
if(CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER_EQUAL 10.0.19044)
49-
set(_castxml_hash
50-
4f6e352a0c7dd2c52386de6af7fee04660ba2cc05fd73f94a2843858f761729a7bea96debf16e51ae52b95b87142f311a08857b852162bf0d204bde9bdc99555
51-
)
52-
set(_castxml_url
53-
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-windows-win11.zip"
54-
)
55-
set(_download_castxml_binaries 1)
56-
else()
57-
set(_castxml_hash
58-
5ad9e16bd2aadefff408e53d8b733597757788256640f9614393205713890dca881b490674c28866f79ca49aba7a42482f1e0fd30f90fead8abe852ef9d10f4f
59-
)
60-
set(_castxml_url
61-
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-windows.zip")
62-
set(_download_castxml_binaries 1)
63-
endif()
47+
set(_castxml_hash
48+
7c1970ad6f2e5f06a8704606db92df3400c4cd9716f88cac604924430c7e6865f8256a67282d28005714f0ed0a42f7f6e386f24ce80fb075371902d35674c6cc
49+
)
50+
set(_castxml_url
51+
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-windows.zip"
52+
)
53+
set(_download_castxml_binaries 1)
6454

6555
# If 64 bit Mac OS X build host ( >= 10.9, Mavericks), use the CastXML binary
6656
elseif(
@@ -69,19 +59,19 @@ else()
6959
AND (NOT
7060
CMAKE_HOST_SYSTEM_VERSION
7161
VERSION_LESS
72-
"13.0.0"
62+
"11.0.0"
7363
))
7464

7565
set(_castxml_hash
76-
0ff979f0659581534c7e53aa0a99ec9f0b541b160a8d664ce2f289d590517f2d8180376ccb98dfc75a3e718eb62831385dd32d48b83299e3b16414d1794b7c53
66+
c6986a796ab9a4f4deaf569534d628cc584088aa8b0e56026ea5ba19550b8ceeb41c34f46a85566a21205d6bb529717ee8944cfa9a9c7c27edb0504eece5544a
7767
)
7868
set(_castxml_url
7969
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-macosx.tar.gz")
8070
set(_download_castxml_binaries 1)
8171
elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin" AND CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "arm64")
8272

8373
set(_castxml_hash
84-
f9a1fd33c20327b9542c1c34b5e005b02c1515a038257fb6db8dc9add998d53c36035f85f419f78e74ca0d33b3a2a6cf45a9a6eb995377d7f64910a525d6e737
74+
4c8c969f7e53cd758b516bada449b322d37ad19d6d46602660d83ece20ce07f3d55462493382a1c422048928962fd33f9704638e2e41637d1147473562a55f94
8575
)
8676
set(_castxml_url
8777
"https://github.com/CastXML/CastXMLSuperbuild/releases/download/v${_castxml_version}/castxml-macos-arm.tar.gz")
@@ -123,10 +113,9 @@ else()
123113
set(compiler_information
124114
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
125115
${CMAKE_CXX_COMPILER_LAUNCHER_FLAG}
126-
"-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS} -w"
127116
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
128117
${CMAKE_C_COMPILER_LAUNCHER_FLAG}
129-
"-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS} -w")
118+
)
130119
endif()
131120
# might be set to on by default when llvm/clang 3.6 are released
132121
# option(ITK_USE_SYSTEM_LLVM "Use system llvm and clang. If OFF, llvm and clang are built as external projects." ON)
@@ -146,43 +135,79 @@ else()
146135
itk_download_attempt_check(LLVM)
147136
itk_download_attempt_check(Clang)
148137
endif()
149-
set(llvm_version 11.1.0)
150-
set(llvm_folder ${llvm_version})
151-
set(llvm_md5 69bc06661ce8f1872e27b40ff96002b2)
152-
ExternalProject_Add(
153-
llvm
138+
set(llvm_version 18.1.3)
139+
set(llvm_folder 18.1.3)
140+
set(LLVM_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm/lib/cmake/llvm/)
141+
142+
if(${CMAKE_VERSION} VERSION_LESS 3.24)
143+
set(download_extract_timestamp_flag)
144+
else()
145+
set(download_extract_timestamp_flag DOWNLOAD_EXTRACT_TIMESTAMP TRUE)
146+
endif()
147+
148+
set(llvm_cmake_sha256 acfecb615d41c5b1a0a31e15324994ca06f7a3f37d8958d719b20de0d217b71b)
149+
ExternalProject_Add(llvm-cmake
150+
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${llvm_folder}/cmake-${llvm_version}.src.tar.xz"
151+
URL_HASH SHA256=${llvm_cmake_sha256}
152+
CONFIGURE_COMMAND ""
153+
BUILD_COMMAND ""
154+
INSTALL_COMMAND ""
155+
${download_extract_timestamp_flag}
156+
LOG_BUILD 0
157+
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm-prefix/src/cmake
158+
)
159+
160+
set(llvm_sha256 fa6db8951f5ef576ac6bad43d5e1ed83962754538c998fbfa0397cd4521abc00)
161+
ExternalProject_Add(llvm
154162
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${llvm_folder}/llvm-${llvm_version}.src.tar.xz"
155-
URL_MD5 ${llvm_md5}
156-
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm-${llvm_version}
163+
URL_HASH SHA256=${llvm_sha256}
164+
DEPENDS llvm-cmake
157165
CMAKE_ARGS -Wno-dev
158166
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
159167
CMAKE_CACHE_ARGS
160-
${compiler_information}
168+
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
169+
-DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
170+
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
171+
-DLLVM_STATIC_LINK_CXX_STDLIB:BOOL=ON
161172
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
162173
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
174+
-DLLVM_INSTALL_PREFIX:PATH=<INSTALL_DIR>
163175
-DLLVM_ENABLE_TERMINFO:BOOL=OFF
164176
-DLLVM_INCLUDE_TESTS:BOOL=OFF
165-
-DLLVM_INCLUDE_EXAMPLES:BOOL=OFF
177+
-DLLVM_INCLUDE_BENCHMARKS:BOOL=OFF
166178
-DLLVM_INCLUDE_DOCS:BOOL=OFF
167-
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm)
168-
set(clang_md5 133c6719e22bfded74fcaf1d3092e979)
169-
ExternalProject_Add(
170-
clang
171-
URL https://github.com/llvm/llvm-project/releases/download/llvmorg-${llvm_folder}/clang-${llvm_version}.src.tar.xz
172-
URL_MD5 ${clang_md5}
179+
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL=ON
180+
${download_extract_timestamp_flag}
181+
LOG_BUILD 0
182+
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm
183+
)
184+
185+
186+
set(clang_sha256 e43e1729713ac0241aa026fa2f98bb54e74a196a6fed60ab4819134a428eb6d8)
187+
ExternalProject_Add(clang
188+
URL "https://github.com/llvm/llvm-project/releases/download/llvmorg-${llvm_folder}/clang-${llvm_version}.src.tar.xz"
189+
URL_HASH SHA256=${clang_sha256}
173190
DEPENDS llvm
174-
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/cfe-${llvm_version}
191+
SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm-prefix/src/cfe-${llvm_version}
175192
CMAKE_ARGS -Wno-dev
176193
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
177194
CMAKE_CACHE_ARGS
178-
${compiler_information}
195+
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
196+
-DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
197+
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
179198
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
180199
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
181200
-DCLANG_INCLUDE_DOCS:BOOL=OFF
182201
-DCLANG_INCLUDE_TESTS:BOOL=OFF
183-
-DLLVM_CONFIG:PATH=${CMAKE_CURRENT_BINARY_DIR}/llvm/bin/llvm-config${exe}
184-
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm)
185-
set(LLVM_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm/lib/cmake/llvm/)
202+
-DLLVM_INCLUDE_TESTS:BOOL=OFF
203+
-DLLVM_CONFIG:PATH=${CMAKE_CURRENT_BINARY_DIR}/llvm/bin/llvm-config
204+
-DLLVM_DIR:PATH=${LLVM_DIR}
205+
-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL=ON
206+
${download_extract_timestamp_flag}
207+
LOG_BUILD 0
208+
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}/llvm
209+
)
210+
186211
set(castxml_deps llvm clang)
187212
endif()
188213

@@ -200,6 +225,7 @@ else()
200225
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
201226
CMAKE_CACHE_ARGS
202227
${compiler_information}
228+
-DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
203229
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
204230
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
205231
-DLLVM_DIR:PATH=${LLVM_DIR}

0 commit comments

Comments
 (0)