Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
More tweaks to build scripts for robustness
Browse files Browse the repository at this point in the history
  • Loading branch information
MintoDA1 authored and MintoDA1 committed Aug 15, 2023
1 parent 6d4167e commit e72484a
Show file tree
Hide file tree
Showing 8 changed files with 59 additions and 32 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ dump*
!requirements.txt
!pyproject.toml
**/_skbuild
*.egg*
swiftest-*


#Documentation
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
##################################################
# Define the project and the depencies that it has
##################################################
CMAKE_MINIMUM_REQUIRED(VERSION 3.5.0...3.27.1)
CMAKE_MINIMUM_REQUIRED(VERSION 3.6.0...3.27.1)

# Get version stored in text file
FILE(READ "version.txt" VERSION)
Expand Down
29 changes: 14 additions & 15 deletions buildscripts/build_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,30 +31,28 @@ cd ${ROOT_DIR}
VERSION=$( cat version.txt )
echo "Building Swiftest version ${VERSION} for ${OS}-${ARCH}"

if command -v docker &> /dev/null; then
echo "Docker detected"
# if command -v docker &> /dev/null; then
# echo "Docker detected"

cmd="docker build --tag swiftest:latest --tag swiftest:${VERSION} --file=dockerfile.${COMPILER} --output=${ROOT_DIR}/dist/ ."
echo "Executing Docker build:\n${cmd}"
eval "$cmd"
exit 0
else
echo "Docker not detected"
fi
# cmd="docker build --tag swiftest:latest --tag swiftest:${VERSION} --file=dockerfile.${COMPILER} --output=${ROOT_DIR}/dist/ ."
# echo "Executing Docker build:\n${cmd}"
# eval "$cmd"
# exit 0
# else
# echo "Docker not detected"
# fi

case $OS in
# Determine if Docker is available

;;
MacOSX)
COMPILER="GNU-Mac"
export MACOSX_DEPLOYMENT_TARGET=13
export LDFLAGS="-Wl,-no_compact_unwind"
echo "Building for Mac assumes using Homebrew gfortran-13, gcc-13, and g++13. Install these first if necessary."
;;
Linux)
COMPILER="GNU-Linux"
;;
*)
echo "Swiftest is currently not configured to build for platform ${OS}-${ARCH}"
exit 1
echo "This script is not tested for ${OS}-${ARCH}"
;;
esac

Expand All @@ -63,3 +61,4 @@ ${SCRIPT_DIR}/build_dependencies.sh -c $COMPILER -p ${PREFIX} && \
${SCRIPT_DIR}/build_swiftest.sh -c $COMPILER -p ${PREFIX}



29 changes: 20 additions & 9 deletions buildscripts/build_dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,31 @@ printf "*********************************************************\n"
printf "Using ${COMPILER} compilers:\nFC: ${FC}\nCC: ${CC}\nCXX: ${CXX}\n"
printf "Installing to ${PREFIX}\n"
printf "\n"
export CPPFLAGS="-I{PREFIX}/include"
export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib"

export HDF5_ROOT="${PREFIX}"
export HDF5_LIBDIR="${HDF5_ROOT}/lib"
export HDF5_INCLUDE_DIR="${HDF5_ROOT}/include"
export HDF5_PLUGIN_PATH="${HDF5_LIBDIR}/plugin"
export NCDIR="${PREFIX}"
export NFDIR="${PREFIX}"
export LD_LIBRARY_PATH="${PREFIX}/lib"
export LDFLAGS="-L${PREFIX}/lib"
export CPPFLAGS="-I${PREFIX}/include"
export LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH}"
export CPPFLAGS="${CPPFLAGS} -isystem {$PREFIX}/include"
export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib"
export CPATH="${PREFIX}/include:${CPATH}"
export CFLAGS="${CFLAGS} -Wno-unused-but-set-variable"

if [ $COMPILER = "GNU-Mac" ]; then
export MACOSX_DEPLOYMENT_TARGET=13
export LDFLAGS="${LDFLAGS} -Wl,-no_compact_unwind"
export CFLAGS="${CFLAGS} -Wno-deprecated-non-prototype"
fi

printf "LIBS: ${LIBS}\n"
printf "CFLAGS: ${CFLAGS}\n"
printf "CPPFLAGS: ${CPPFLAGS}\n"
printf "CPATH: ${CPATH}\n"
printf "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}\n"
printf "LDFLAGS: ${LDFLAGS}\n"

printf "*********************************************************\n"
printf "* BUILDING ZLIB STATIC LIBRARY *\n"
Expand Down Expand Up @@ -108,10 +122,7 @@ if [ ! $COMPILER = "GNU-Mac" ]; then
COPTS="${COPTS} --disable-libxml2"
fi
printf "COPTS: ${COPTS}\n"
printf "LIBS: ${LIBS}\n"
printf "CFLAGS: ${CFLAGS}\n"
printf "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}\n"
printf "LDFLAGS: ${LDFLAGS}\n"


./configure $COPTS
make && make check && make install
Expand Down
23 changes: 19 additions & 4 deletions buildscripts/build_swiftest.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,17 @@ printf "Using ${COMPILER} compilers:\nFC: ${FC}\nCC: ${CC}\nCXX: ${CXX}\n\n"
printf "Installing to ${PREFIX}\n"
printf "Dependency libraries in ${PREFIX}\n"
export DEPDIR=$PREFIX
export CPATH=$DEPDIR/include
export NETCDF_FORTRAN_HOME=$DEPDIR
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${DEPDIR}/lib"
export CPPFLAGS="${CPPFLAGS} -I{$DEPDIR}/include"
export LDFLAGS="${LDFLAGS} -L${DEPDIR}/lib"
export CPATH="${CPATH}:${DEPDIR}/include"

if [ $COMPILER = "GNU-Mac" ]; then
export MACOSX_DEPLOYMENT_TARGET=13
export LDFLAGS="${LDFLAGS} -Wl,-no_compact_unwind"
fi

export LD_LIBRARY_PATH="${DEPDIR}/lib:${LD_LIBRARY_PATH}"
NFCFG="${DEPDIR}/bin/nf-config"
if command -v $NFCFG &> /dev/null; then
export LIBS=$($NFCFG --flibs)
Expand All @@ -72,8 +79,16 @@ else
export FFLAGS="${CFLAGS}"
export SKBUILD_CONFIGURE_OPTIONS="${SKBUILD_CONFIGURE_OPTIONS} -DMACHINE_CODE_VALUE=\"generic\""
fi

read -r OS ARCH < <($SCRIPT_DIR/get_platform.sh)
echo $OS $ARCH
if [ $OS = "MacOSX" ] && [ $ARCH = "arm64" ]; then
printf "OpenMP not supported on Apple M1 Silicon quite yet\n"
export SKBUILD_CONFIGURE_OPTIONS="${SKBUILD_CONFIGURE_OPTIONS} -DUSE_OPENMP=OFF"
fi

cd $ROOT_DIR

python3 -m pip install build pip
python3 -m build --wheel
python3 -m build
python3 -m pip install . -v

1 change: 1 addition & 0 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
'astropy>=5.1',
'astroquery>=0.4.6',
'tqdm>=4.65.0',
'py>=1.11'
],
packages=['swiftest'],
test_suite="swiftest.tests",
Expand Down
4 changes: 2 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,9 @@ ADD_LIBRARY(${SWIFTEST_LIBRARY} ${SWIFTEST_src})
SET(SWIFTEST_DRIVER swiftest_driver)
ADD_EXECUTABLE(${SWIFTEST_DRIVER} ${DRIVER_src})

TARGET_INCLUDE_DIRECTORIES(${SWIFTEST_DRIVER} PUBLIC ${NETCDF_INCLUDE_DIR})
MESSAGE(STATUS "NetCDF Include directory: ${NETCDF_INCLUDE_DIR}")
TARGET_INCLUDE_DIRECTORIES(${SWIFTEST_LIBRARY} PUBLIC ${NETCDF_INCLUDE_DIR})
TARGET_INCLUDE_DIRECTORIES(${SWIFTEST_DRIVER} PUBLIC ${NETCDF_INCLUDE_DIR})

IF (BUILD_SHARED_LIBS)
TARGET_LINK_LIBRARIES(${SWIFTEST_LIBRARY} PUBLIC ${NETCDF_LIBRARIES})
Expand All @@ -174,7 +175,6 @@ IF(USE_COARRAY)
SET_PROPERTY(TARGET ${SWIFTEST_LIBRARY} ${SWIFTEST_DRIVER} APPEND_STRING PROPERTY LINK_FLAGS "${Coarray_Fortran_FLAGS} ")
ENDIF(USE_COARRAY)


# Check to see if the compiler allows for local-spec in do concurrent statements. Set a preprocessor variable if it does
IF (USE_OPENMP)
SET(TESTFILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}")
Expand Down
1 change: 0 additions & 1 deletion swiftest/simulation_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
from swiftest import init_cond
from swiftest import tool
from swiftest import constants
from swiftest import driver
from swiftest import __file__ as _pyfile
import json
import os
Expand Down

0 comments on commit e72484a

Please sign in to comment.