Skip to content

Commit 5a7baa0

Browse files
committed
updates standalone install scripts
1 parent 93bb400 commit 5a7baa0

File tree

2 files changed

+95
-43
lines changed

2 files changed

+95
-43
lines changed

contrib/install_wo_conan.cmd

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@REM call "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
12
@REM call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\Tools\VsDevCmd.bat"
23
@REM call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\Tools\VsDevCmd.bat"
34

@@ -9,7 +10,7 @@ set INSTALL_DIR=%1
910
:endparse
1011

1112
set SC_VERSION=2.3.4
12-
set CXX_STD=14
13+
set CXX_STD=20
1314
set SCC_HOME=%INSTALL_DIR%\scc
1415
set SYSTEMC_HOME=%INSTALL_DIR%\systemc
1516

@@ -31,32 +32,34 @@ set GENERATOR=Visual Studio 17 2022
3132
set TOOLSET=msvc-14.3
3233
:start_build:
3334

34-
set CMAKE_OPTS=-G "%GENERATOR%" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_CXX_STANDARD=%CXX_STD% -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON
35+
@REM we need to keep CMAKE_POLICY_VERSION_MINIMUM=3.5 unless yaml-cpp, SystemC & SystemC-AMS have fixed their build system
36+
set CMAKE_OPTS=-G "%GENERATOR%" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_GENERATOR_PLATFORM=x64 -DCMAKE_CXX_STANDARD=%CXX_STD% -DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON -DCMAKE_PREFIX_PATH=%SCC_HOME% -DCMAKE_POLICY_VERSION_MINIMUM=3.5
3537
set BOOST_LIB_EXCLUDE=--without-contract --without-fiber --without-graph --without-graph_parallel --without-iostreams --without-json --without-locale --without-log --without-math --without-mpi --without-nowide --without-python --without-random --without-stacktrace --without-test --without-timer --without-wave
38+
set BOOST_CMAKE_OPTS=-DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT=%SCC_HOME% -DBOOST_INCLUDEDIR=%SCC_HOME%\include\boost-1_89 -DBoost_NO_WARN_NEW_VERSIONS=ON -DBoost_USE_STATIC_LIBS=ON -DBoost_USE_MULTITHREADED=ON -DBoost_USE_STATIC_RUNTIME=OFF
3639
@REM ############################################################################################
3740
@REM build_boost
3841
@REM ############################################################################################
39-
if NOT EXIST "boost_1_85_0" tar xjvf boost_1_85_0.tar.bz2
40-
pushd boost_1_85_0
42+
if NOT EXIST "boost_1_89_0" tar xjvf boost_1_89_0.tar.bz2
43+
pushd boost_1_89_0
4144
@call .\bootstrap.bat
4245
b2 -j8 toolset=%TOOLSET% address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal --build-dir=..\build\boost --stagedir=..\build\boost --prefix=%SCC_HOME% %BOOST_LIB_EXCLUDE% install
4346
popd
4447
@REM ############################################################################################
4548
@REM build_fmt
4649
@REM ############################################################################################
47-
if NOT EXIST "fmt" tar xzvf fmt_8.0.1.tar.gz
48-
cmake -S fmt -B build\fmt %CMAKE_OPTS% -DCMAKE_INSTALL_PREFIX=%SCC_HOME% -DBUILD_SHARED_LIBS=ON
50+
if NOT EXIST "fmt" tar xzvf fmt_12.0.0.tar.gz
51+
cmake -S fmt -B build\fmt %CMAKE_OPTS% -DCMAKE_INSTALL_PREFIX=%SCC_HOME% -DBUILD_SHARED_LIBS=ON -DFMT_TEST=OFF
4952
cmake --build build\fmt -j 10 --config Release --target install
5053
@REM ############################################################################################
5154
@REM build_spdlog
5255
@REM ############################################################################################
53-
if NOT EXIST "spdlog" tar xzvf spdlog_1.9.2.tar.gz
56+
if NOT EXIST "spdlog" tar xzvf spdlog_1.16.0.tar.gz
5457
cmake -S spdlog -B build\spdlog %CMAKE_OPTS% -DCMAKE_INSTALL_PREFIX=%SCC_HOME% -DSPDLOG_FMT_EXTERNAL=ON
5558
cmake --build build\spdlog -j 10 --config Release --target install
5659
@REM ############################################################################################
5760
@REM build_yamlcpp
5861
@REM ############################################################################################
59-
if NOT EXIST "yaml-cpp" tar xzvf yaml-cpp_0.6.3.tar.gz
62+
if NOT EXIST "yaml-cpp" tar xzvf yaml-cpp_0.8.0.tar.gz
6063
cmake -S yaml-cpp -B build\yaml-cpp %CMAKE_OPTS% -DCMAKE_INSTALL_PREFIX=%SCC_HOME% -DYAML_CPP_BUILD_TESTS=OFF -DYAML_CPP_BUILD_TOOLS=OFF
6164
cmake --build build\yaml-cpp -j 10 --config Release --target install
6265
@REM ############################################################################################
@@ -81,5 +84,5 @@ cmake --build build/systemcams -j 10 --config Release --target install
8184
@REM build_scc
8285
@REM ############################################################################################
8386
if NOT EXIST "scc" tar xzvf scc.tar.gz
84-
cmake -S scc -B build\scc -Wno-dev %CMAKE_OPTS% -DCMAKE_INSTALL_PREFIX=%SCC_HOME% -DENABLE_CONAN=OFF -DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT=%SCC_HOME% -DBOOST_INCLUDEDIR=%SCC_HOME%\include\boost-1_85 -DBoost_NO_WARN_NEW_VERSIONS=ON -DBoost_USE_STATIC_LIBS=ON -DBoost_USE_MULTITHREADED=ON -DBoost_USE_STATIC_RUNTIME=OFF -DBUILD_SCC_LIB_ONLY=ON
87+
cmake -S scc -B build\scc -Wno-dev %CMAKE_OPTS% -DCMAKE_INSTALL_PREFIX=%SCC_HOME% -DBUILD_SCC_LIB_ONLY=ON %BOOST_CMAKE_OPTS%
8588
cmake --build build\scc -j 10 --config Release --target install

contrib/install_wo_conan.sh

Lines changed: 83 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,86 @@
11
#!/bin/bash
22
##
33

4-
export CXX_STD=14
4+
# Absolute path to this script, e.g. /home/user/bin/foo.sh
5+
SCRIPT=`readlink -f "$0"`
6+
# Absolute path this script is in, thus /home/user/bin
7+
SCRIPTDIR=`dirname "$SCRIPT"`
8+
SCRIPTNAME=`basename "$SCRIPT"`
9+
10+
function print_help {
11+
echo "Usage: $SCRIPTNAME [-h] [-c] <install dir>"
12+
echo "Build SCC installation from tar files"
13+
echo "Optional cli arguments:"
14+
echo " -h print help"
15+
echo " -c clean build and install directory before building"
16+
}
17+
18+
CLEAN=0
19+
20+
while [ $# -gt 0 ]; do
21+
unset OPTIND
22+
unset OPTARG
23+
while getopts hc options; do
24+
case $options in
25+
c) CLEAN=1 ;;
26+
h) print_help; exit 0 ;;
27+
esac
28+
done
29+
shift $((OPTIND-1))
30+
if [ ! -z "$1" ]; then
31+
INSTALL_ROOT="$1"
32+
shift
33+
fi
34+
done
35+
36+
if [ -z "${INSTALL_ROOT}" ]; then
37+
echo "Missing install dir argument"
38+
exit 1
39+
fi
40+
41+
export CXX_STD=20
542
export CC=$(type -p gcc)
643
export CXX=$(type -p g++)
744
[ -z "${BUILD_TYPE}" ] && BUILD_TYPE=RelWithDebInfo
8-
if [ -z "${INSTALL_ROOT}" ]; then
9-
if [ -z "${1}" ]; then
10-
echo "Missing install dir argument"
11-
exit 1
12-
fi
13-
export INSTALL_ROOT=$1
14-
fi
1545
export SC_VERSION=2.3.4
1646
export SYSTEMC_HOME=${INSTALL_ROOT}/systemc
1747
export SYSTEMCAMS_HOME=${INSTALL_ROOT}/systemc
1848
export SCC_INSTALL=${INSTALL_ROOT}/scc
19-
DISTRO=$(lsb_release -i -s)
20-
[ "$DISTRO" == "Ubuntu" ] || BOOST_LIBDIR=--libdir=${SCC_INSTALL}/lib64
21-
[ "$DISTRO" == "Ubuntu" ] || YAML_LIBDIR=-DLIB_SUFFIX=64
22-
CMAKE_COMMON_SETTINGS="-DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_STANDARD=${CXX_STD}"
49+
OS=$(uname)
50+
if [ $OS == "Linux" ]; then
51+
DISTRO=$(lsb_release -i -s)
52+
else
53+
DISTRO="Darwin"
54+
fi
55+
if [ "$DISTRO" == "Ubuntu" ]; then
56+
BOOST_LIBDIR=
57+
YAML_LIBDIR=
58+
else
59+
BOOST_LIBDIR=--libdir=${SCC_INSTALL}/lib64
60+
YAML_LIBDIR=-DLIB_SUFFIX=64
61+
fi
62+
# we need to keep CMAKE_POLICY_VERSION_MINIMUM=3.5 unless yaml-cpp, SystemC & SystemC-AMS have fixed their build system
63+
CMAKE_COMMON_SETTINGS="-DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DBUILD_SHARED_LIBS=OFF -DCMAKE_CXX_STANDARD=${CXX_STD} -DCMAKE_POLICY_VERSION_MINIMUM=3.5"
2364
BOOST_SETTINGS="link=static cxxflags='-std=c++${CXX_STD}'"
65+
set -eup -o pipefail
66+
############################################################################################
67+
#
68+
############################################################################################
69+
if [ ${CLEAN} -eq 1 ]; then
70+
echo Removing fmt fmt_*.tar.gz spdlog spdlog_*.tar.gz yaml-cpp yaml-cpp_*.tar.gz scc.tar.gz
71+
rm -rf build ${INSTALL_ROOT} fmt fmt_*.tar.gz spdlog spdlog_*.tar.gz yaml-cpp yaml-cpp_*.tar.gz scc.tar.gz
72+
fi
2473
############################################################################################
2574
#
2675
############################################################################################
2776
function build_boost {
2877
export BOOST_LIB_EXCLUDE=contract,fiber,graph,graph_parallel,iostreams,json,locale,log,math,mpi,nowide,python,random,stacktrace,test,timer,wave
2978

30-
if [ ! -d boost_1_85_0 ]; then
31-
[ -f boost_1_85_0.tar.bz2 ] || wget https://archives.boost.io/release/1.85.0/source/boost_1_85_0.tar.bz2
32-
tar xjf boost_1_85_0.tar.bz2
79+
if [ ! -d boost_1_89_0 ]; then
80+
[ -f boost_1_89_0.tar.bz2 ] || wget https://archives.boost.io/release/1.89.0/source/boost_1_89_0.tar.bz2
81+
tar xjf boost_1_89_0.tar.bz2
3382
fi
34-
(cd boost_1_85_0; \
83+
(cd boost_1_89_0; \
3584
./bootstrap.sh --prefix=${SCC_INSTALL} ${BOOST_LIBDIR} --without-libraries=${BOOST_LIB_EXCLUDE};\
3685
./b2 ${BOOST_SETTINGS} install) || exit 2
3786
}
@@ -40,26 +89,26 @@ function build_boost {
4089
############################################################################################
4190
function build_fmt {
4291
if [ ! -d fmt ]; then
43-
if [ ! -f fmt_8.0.1.tar.gz ]; then
44-
git clone --depth 1 --branch 8.0.1 -c advice.detachedHead=false https://github.com/fmtlib/fmt.git
45-
tar czf fmt_8.0.1.tar.gz fmt --exclude=.git
92+
if [ ! -f fmt_12.0.0.tar.gz ]; then
93+
git clone --depth 1 --branch 12.0.0 -c advice.detachedHead=false https://github.com/fmtlib/fmt.git
94+
tar czf fmt_12.0.0.tar.gz --exclude=.git fmt
4695
else
47-
tar xzf fmt_8.0.1.tar.gz
96+
tar xzf fmt_12.0.0.tar.gz
4897
fi
4998
fi
50-
cmake -S fmt -B build/fmt ${CMAKE_COMMON_SETTINGS} -DCMAKE_INSTALL_PREFIX=${SCC_INSTALL} || exit 1
99+
cmake -S fmt -B build/fmt ${CMAKE_COMMON_SETTINGS} -DCMAKE_INSTALL_PREFIX=${SCC_INSTALL} -DFMT_TEST=OFF || exit 1
51100
cmake --build build/fmt -j 10 --target install || exit 2
52101
}
53102
############################################################################################
54103
#
55104
############################################################################################
56105
function build_spdlog {
57106
if [ ! -d spdlog ]; then
58-
if [ ! -f spdlog_1.9.2.tar.gz ]; then
59-
git clone --depth 1 --branch v1.9.2 -c advice.detachedHead=false https://github.com/gabime/spdlog.git
60-
tar czf spdlog_1.9.2.tar.gz spdlog --exclude=.git
107+
if [ ! -f spdlog_1.16.0.tar.gz ]; then
108+
git clone --depth 1 --branch v1.16.0 -c advice.detachedHead=false https://github.com/gabime/spdlog.git
109+
tar czf spdlog_1.16.0.tar.gz --exclude=.git spdlog
61110
else
62-
tar xzf spdlog_1.9.2.tar.gz
111+
tar xzf spdlog_1.16.0.tar.gz
63112
fi
64113
fi
65114
cmake -S spdlog -B build/spdlog ${CMAKE_COMMON_SETTINGS} -DCMAKE_INSTALL_PREFIX=${SCC_INSTALL} || exit 1
@@ -70,11 +119,11 @@ function build_spdlog {
70119
############################################################################################
71120
function build_yamlcpp {
72121
if [ ! -d yaml-cpp ]; then
73-
if [ ! -f yaml-cpp_0.6.3.tar.gz ]; then
74-
git clone --depth 1 --branch yaml-cpp-0.6.3 -c advice.detachedHead=false https://github.com/jbeder/yaml-cpp.git
75-
tar czf yaml-cpp_0.6.3.tar.gz yaml-cpp --exclude=.git
122+
if [ ! -f yaml-cpp_0.8.0.tar.gz ]; then
123+
git clone --depth 1 --branch 0.8.0 -c advice.detachedHead=false https://github.com/jbeder/yaml-cpp.git
124+
tar czf yaml-cpp_0.8.0.tar.gz --exclude=.git yaml-cpp
76125
else
77-
tar xzf yaml-cpp_0.6.3.tar.gz
126+
tar xzf yaml-cpp_0.8.0.tar.gz
78127
fi
79128
fi
80129
cmake -S yaml-cpp -B build/yaml-cpp ${CMAKE_COMMON_SETTINGS} -DCMAKE_INSTALL_PREFIX=${SCC_INSTALL} \
@@ -87,11 +136,11 @@ function build_yamlcpp {
87136
############################################################################################
88137
function build_lz4 {
89138
if [ ! -d lz4 ]; then
90-
if [ ! -f lz4_1.9.4.tar.gz ]; then
91-
git clone --depth 1 --branch v1.9.4 -c advice.detachedHead=false https://github.com/lz4/lz4.git
92-
tar czf lz4_1.9.4.tar.gz lz4 --exclude=.git
139+
if [ ! -f lz4_1.10.0.tar.gz ]; then
140+
git clone --depth 1 --branch v1.10.0 -c advice.detachedHead=false https://github.com/lz4/lz4.git
141+
tar czf lz4_1.10.0.tar.gz --exclude=.git lz4
93142
else
94-
tar xzf lz4_1.9.4.tar.gz
143+
tar xzf lz4_1.10.0.tar.gz
95144
fi
96145
fi
97146
make -C lz4 clean all || exit 1
@@ -144,7 +193,7 @@ function build_scc {
144193
(cd scc; git pull; git submodule update --recursive)
145194
tar czf scc.tar.gz --exclude=.git scc
146195
fi
147-
cmake -S scc -B build/scc -Wno-dev ${CMAKE_COMMON_SETTINGS} -DCMAKE_INSTALL_PREFIX=${SCC_INSTALL} -DENABLE_CONAN=OFF \
196+
cmake -S scc -B build/scc -Wno-dev ${CMAKE_COMMON_SETTINGS} -DCMAKE_INSTALL_PREFIX=${SCC_INSTALL} \
148197
-DBoost_NO_SYSTEM_PATHS=TRUE -DBOOST_ROOT=${SCC_INSTALL} -DBoost_NO_WARN_NEW_VERSIONS=ON -DBUILD_SCC_LIB_ONLY=ON || exit 1
149198
cmake --build build/scc -j 10 --target install || exit 2
150199
}

0 commit comments

Comments
 (0)