Ccls (Application)
Jump to navigation
Jump to search
Ccls
Install
# shared/opt install schema v1.5.6 #### as common user #### # define applications vars export SOFTWARE_PATH="/home/shared/opt/software" export NAME="ccls" export VERSION="0.20210330" export URL="https://github.com/MaskRay/ccls" su - -w SOFTWARE_PATH,NAME,VERSION #### as root #### # install packages and prepare destination path apt-get -q -y install wget coreutils findutils < /dev/null apt-get -q -y g++ clang cmake libclang-dev llvm-dev rapidjson-dev git < /dev/null mkdir -m 777 "${SOFTWARE_PATH}/tmp_install/" "${SOFTWARE_PATH}/${NAME}_${VERSION}/" exit #### as common user #### umask 0027 cd "${SOFTWARE_PATH}/tmp_install" git clone --branch ${VERSION} --depth=1 --recursive ${URL} cd ccls # define compiler flags optimizations (from debian dpkg-buildflags command) export CFLAGS="-g0 -O2 -fstack-protector-strong -Wformat -Werror=format-security -mtune=native -pipe" export LDFLAGS="-s -Wl,-z,relro" # configure, build and install cmake -H. -BRelease -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${SOFTWARE_PATH}/${NAME}_${VERSION}" cmake --build Release make -C Release install cd su - -w SOFTWARE_PATH,NAME,VERSION #### as root #### # ensure permissions to destination path cd "${SOFTWARE_PATH}" chown -R root:users "${NAME}_${VERSION}" find "${NAME}_${VERSION}" -type d -exec chmod a-s,u+rwx,g+rx,g-w,o-rwx {} \; find "${NAME}_${VERSION}" -type f -exec chmod a-s,u+rw,g+r,g-w,o-rwx {} \; rm -rf tmp_install ln -s -f -T "${NAME}_${VERSION}" "${NAME}" exit #### as common user #### # test the application "${SOFTWARE_PATH}/${NAME}/bin/ccls"