#!/bin/sh # This file is a part of Julia. License is MIT: https://julialang.org/license # Script to download newest version of cmake on linux (or mac) # saves you the trouble of compiling it if you don't have root set -e # stop on failure mkdir -p "$[dirname $0]"/../deps/scratch cd "$[dirname $0]"/../deps/scratch global CMAKE_VERSION_MAJOR := '3' global CMAKE_VERSION_MINOR := '7' global CMAKE_VERSION_PATCH := '1' global CMAKE_VERSION_MAJMIN := "$CMAKE_VERSION_MAJOR.$CMAKE_VERSION_MINOR" global CMAKE_VERSION := "$CMAKE_VERSION_MAJMIN.$CMAKE_VERSION_PATCH" # listed at https://cmake.org/files/v$CMAKE_VERSION_MAJMIN/cmake-$CMAKE_VERSION-SHA-256.txt # for the files cmake-$CMAKE_VERSION-Darwin-x86_64.tar.gz # and cmake-$CMAKE_VERSION-Linux-x86_64.tar.gz global CMAKE_SHA256_DARWIN := '1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267' global CMAKE_SHA256_LINUX := '7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2' global PLATFORM := ""$[uname]-$[uname -m]"" global FULLNAME := "cmake-$CMAKE_VERSION-$PLATFORM" matchstr $PLATFORM { Darwin-x86_64 { ../tools/jldownload https://cmake.org/files/v$CMAKE_VERSION_MAJMIN/$FULLNAME.tar.gz echo "$CMAKE_SHA256_DARWIN $FULLNAME.tar.gz" | shasum -a 256 -c - global CMAKE_EXTRACTED_PATH := "$FULLNAME/CMake.app/Contents/bin/cmake"} Linux-x86_64 { ../tools/jldownload https://cmake.org/files/v$CMAKE_VERSION_MAJMIN/$FULLNAME.tar.gz echo "$CMAKE_SHA256_LINUX $FULLNAME.tar.gz" | sha256sum -c - global CMAKE_EXTRACTED_PATH := "$FULLNAME/bin/cmake"} * { echo "This script only supports x86_64 Mac and Linux. For other platforms," > !2 echo "get cmake from your package manager or compile it from source." > !2 exit 1} } tar -xzf $FULLNAME.tar.gz echo "CMAKE = $PWD/$CMAKE_EXTRACTED_PATH" >> ../../Make.user (CommandList children: [ (C {(set)} {(-e)}) (C {(mkdir)} {(-p)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})]) left_token: spids: [25 31] ) ) (/../deps/scratch) } ) (C {(cd)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ ($ VSub_Number "$0"))})]) left_token: spids: [38 44] ) ) (/../deps/scratch) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CMAKE_VERSION_MAJOR) op:Equal rhs:{(3)} spids:[49])] spids: [49] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CMAKE_VERSION_MINOR) op:Equal rhs:{(7)} spids:[52])] spids: [52] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CMAKE_VERSION_PATCH) op:Equal rhs:{(1)} spids:[55])] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CMAKE_VERSION_MAJMIN) op: Equal rhs: {($ VSub_Name "$CMAKE_VERSION_MAJOR") (.) ($ VSub_Name "$CMAKE_VERSION_MINOR")} spids: [58] ) ] spids: [58] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CMAKE_VERSION) op: Equal rhs: {($ VSub_Name "$CMAKE_VERSION_MAJMIN") (.) ($ VSub_Name "$CMAKE_VERSION_PATCH")} spids: [63] ) ] spids: [63] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CMAKE_SHA256_DARWIN) op: Equal rhs: {(1851d1448964893fdc5a8c05863326119f397a3790e0c84c40b83499c7960267)} spids: [78] ) ] spids: [78] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CMAKE_SHA256_LINUX) op: Equal rhs: {(7b4b7a1d9f314f45722899c0521c261e4bfab4a6b532609e37fef391da6bade2)} spids: [81] ) ] spids: [81] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PLATFORM) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(uname)})]) left_token: spids: [87 89] ) (-) (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-m)})]) left_token: spids: [91 95] ) ) } spids: [85] ) ] spids: [85] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FULLNAME) op: Equal rhs: {(cmake-) ($ VSub_Name "$CMAKE_VERSION") (-) ($ VSub_Name "$PLATFORM")} spids: [98] ) ] spids: [98] ) (Case to_match: {($ VSub_Name "$PLATFORM")} arms: [ (case_arm pat_list: [{(Darwin-x86_64)}] action: [ (C {(../tools/jldownload)} {(https) (Lit_Other ":") (//cmake.org/files/v) ($ VSub_Name "$CMAKE_VERSION_MAJMIN") (/) ($ VSub_Name "$FULLNAME") (.tar.gz) } ) (Pipeline children: [ (C {(echo)} { (DQ ($ VSub_Name "$CMAKE_SHA256_DARWIN") (" ") ($ VSub_Name "$FULLNAME") (.tar.gz)) } ) (C {(shasum)} {(-a)} {(256)} {(-c)} {(-)}) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CMAKE_EXTRACTED_PATH) op: Equal rhs: {($ VSub_Name "$FULLNAME") (/CMake.app/Contents/bin/cmake)} spids: [148] ) ] spids: [148] ) ] spids: [111 112 151 -1] ) (case_arm pat_list: [{(Linux-x86_64)}] action: [ (C {(../tools/jldownload)} {(https) (Lit_Other ":") (//cmake.org/files/v) ($ VSub_Name "$CMAKE_VERSION_MAJMIN") (/) ($ VSub_Name "$FULLNAME") (.tar.gz) } ) (Pipeline children: [ (C {(echo)} { (DQ ($ VSub_Name "$CMAKE_SHA256_LINUX") (" ") ($ VSub_Name "$FULLNAME") (.tar.gz)) } ) (C {(sha256sum)} {(-c)} {(-)}) ] negated: False ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CMAKE_EXTRACTED_PATH) op: Equal rhs: {($ VSub_Name "$FULLNAME") (/bin/cmake)} spids: [187] ) ] spids: [187] ) ] spids: [154 155 190 -1] ) (case_arm pat_list: [{(Lit_Other "*")}] action: [ (SimpleCommand words: [ {(echo)} {(DQ ("This script only supports x86_64 Mac and Linux. For other platforms,"))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[203])] ) (SimpleCommand words: [{(echo)} {(DQ ("get cmake from your package manager or compile it from source."))}] redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[213])] ) (C {(exit)} {(1)}) ] spids: [193 194 220 -1] ) ] spids: [104 108 222] ) (C {(tar)} {(-xzf)} {($ VSub_Name "$FULLNAME") (.tar.gz)}) (SimpleCommand words: [ {(echo)} {(DQ ("CMAKE = ") ($ VSub_Name "$PWD") (/) ($ VSub_Name "$CMAKE_EXTRACTED_PATH"))} ] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(../../Make.user)} spids:[241])] ) ] )