diff --git a/CMakeLists.txt b/CMakeLists.txt index 863857362494433ffcd3f80d3a4f2539b7048d53..2011f0e8830ca29c5577d4482c2b07c39651f555 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -273,6 +273,11 @@ install(EXPORT BFPS_EXPORT DESTINATION lib/) ##################################################################################### ##Â Install the python wrapper # copy command +if(EXISTS "${PROJECT_SOURCE_DIR}/host_info.py") + install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/host_info.py ${PROJECT_BINARY_DIR}/python/bfps/)") +else() + install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/pc_host_info.py ${PROJECT_BINARY_DIR}/python/bfps/host_info.py)") +endif() install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/bfps ${PROJECT_BINARY_DIR}/python/bfps/)") install(CODE "execute_process(COMMAND python ${PROJECT_SOURCE_DIR}/setup.py install --force --prefix=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/python/)") diff --git a/CMakeLists_packages.txt b/CMakeLists_packages.txt deleted file mode 100644 index 17a1099ce1aeb4dc6cd450c271f802fdb45a137d..0000000000000000000000000000000000000000 --- a/CMakeLists_packages.txt +++ /dev/null @@ -1,71 +0,0 @@ -# vim: syntax=cmake - -#cmake_policy(SET CMP0074 NEW) - -set(MPI_STATIC ON) -find_package(MPI REQUIRED) - -set(HDF5_STATIC ON) -find_package(HDF5 REQUIRED) - -############################################################################### -# ugly manual setting for HDF5 -if(NOT DEFINED HDF5_INCLUDE_PATH) - set(HDF5_INCLUDE_PATH "$ENV{HDF5_ROOT}/include") -endif() -############################################################################### - -############################################################################### -# ugly manual settings for FFTW. -set(FFTW_STATIC ON) -if (NOT DEFINED ENV{FFTW_BASE}) - message(FATAL_ERROR "Required FFTW_BASE environment variable is not defined.") -endif() -set(FFTW_INCLUDE_FLAGS - "$ENV{FFTW_BASE}/include" - ) -if (NOT DEFINED ENV{FFTW_LIB}) - message(FATAL_ERROR "Required FFTW_LIB environment variable is not defined.") -endif() -if (NOT DEFINED ENV{FFTW_OPENMP_LIB}) - message(FATAL_ERROR "Required FFTW_OPENMP_LIB environment variable is not defined.") -endif() -set(FFTW_LINK_FLAGS - "$ENV{FFTW_OPENMP_LIB} $ENV{FFTW_LIB}" - ) -############################################################################### - -############################################################################### -# ugly manual settings for SZIP. -# needed for non-gcc environments. -if(DEFINED env{SZIP_LIB}) - set(SZIP_LINK_FLAGS - "$env{SZIP_LIB} -lz") -else() - set(SZIP_LINK_FLAGS - "") -endif() -############################################################################### - -include_directories( - ${MPI_INCLUDE_PATH} - ${HDF5_INCLUDE_PATH} - ${FFTW_INCLUDE_PATH} - ) - -set(CMAKE_CXX_COMPILE_FLAGS - ${CMAKE_CXX_COMPILE_FLAGS} - "-Wall -std=c++11 -fopenmp" - ) -set(CMAKE_CXX_COMPILE_FLAGS - ${CMAKE_CXX_COMPILE_FLAGS} - ${HDF5_COMPILE_FLAGS} - ${MPI_COMPILE_FLAGS} - ) -set(CMAKE_CXX_LINK_FLAGS - ${MPI_LINK_FLAGS} - ${HDF5_LINK_FLAGS} - ${FFTW_LINK_FLAGS} - ${CMAKE_CXX_LINK_FLAGS} - ) - diff --git a/bfps/DNS.py b/bfps/DNS.py index e0d83cafa04313d7aeb2009858d4caa42811733e..4388a2929a7a3cb0d467f9c9666c2258f8e03ee7 100644 --- a/bfps/DNS.py +++ b/bfps/DNS.py @@ -50,12 +50,6 @@ class DNS(_code): self, work_dir = work_dir, simname = simname) - self.host_info = {'type' : 'cluster', - 'environment' : None, - 'deltanprocs' : 1, - 'queue' : '', - 'mail_address': '', - 'mail_events' : None} self.generate_default_parameters() self.statistics = {} return None diff --git a/bfps/PP.py b/bfps/PP.py index 77bf9d6c7fe7e56e6a34954100ff512551cf130f..4a8cff4bc36451a9e923b5610b9c783d1672b9d6 100644 --- a/bfps/PP.py +++ b/bfps/PP.py @@ -51,12 +51,6 @@ class PP(_code): self, work_dir = work_dir, simname = simname) - self.host_info = {'type' : 'cluster', - 'environment' : None, - 'deltanprocs' : 1, - 'queue' : '', - 'mail_address': '', - 'mail_events' : None} self.generate_default_parameters() return None def set_precision( diff --git a/bfps/TEST.py b/bfps/TEST.py index 66b2b4aad6b308c78735005f55765bfa3d3eb98c..80adf39f522417f43326339fe2d1b97c1e102d97 100644 --- a/bfps/TEST.py +++ b/bfps/TEST.py @@ -51,12 +51,6 @@ class TEST(_code): self, work_dir = work_dir, simname = simname) - self.host_info = {'type' : 'cluster', - 'environment' : None, - 'deltanprocs' : 1, - 'queue' : '', - 'mail_address': '', - 'mail_events' : None} self.generate_default_parameters() return None def set_precision( diff --git a/bfps/_code.py b/bfps/_code.py index f06e7198da822319203ed9746cdecb9f35b10ca0..ee196fe76648a81f7552845f00ca353381484c10 100644 --- a/bfps/_code.py +++ b/bfps/_code.py @@ -1,7 +1,7 @@ ####################################################################### # # -# Copyright 2015 Max Planck Institute # -# for Dynamics and Self-Organization # +# Copyright 2015-2019 Max Planck Institute # +# for Dynamics and Self-Organization # # # # This file is part of bfps. # # # @@ -35,6 +35,7 @@ import math import warnings import bfps +from bfps.host_info import host_info from ._base import _base class _code(_base): @@ -174,12 +175,7 @@ class _code(_base): } //endcpp """ - self.host_info = {'type' : 'cluster', - 'environment' : None, - 'deltanprocs' : 1, - 'queue' : '', - 'mail_address': '', - 'mail_events' : None} + self.host_info = host_info self.main = '' return None def write_src(self): diff --git a/setup.py b/setup.py index 925f6521ac5fcd2a943c70cad4c9ce13a9893150..c9a8b70b61a94cc0201e4cc24e72f4a338c89e46 100644 --- a/setup.py +++ b/setup.py @@ -34,37 +34,12 @@ import sys import subprocess import pickle - -### compiler configuration -# check if .config/bfps/machine_settings.py file exists, create it if not -homefolder = os.path.expanduser('~') -bfpsfolder = os.path.join(homefolder, '.config', 'bfps') -if not os.path.exists(os.path.join(bfpsfolder, 'machine_settings.py')): - if not os.path.isdir(bfpsfolder): - os.mkdir(bfpsfolder) - shutil.copyfile('./machine_settings_py.py', os.path.join(bfpsfolder, 'machine_settings.py')) -# check if .config/bfps/host_information.py file exists, create it if not -if not os.path.exists(os.path.join(bfpsfolder, 'host_information.py')): - if not os.path.isdir(bfpsfolder): - os.mkdir(bfpsfolder) - open(os.path.join(bfpsfolder, 'host_information.py'), - 'w').write('host_info = {\'type\' : \'none\'}\n') - shutil.copyfile('./machine_settings_py.py', os.path.join(bfpsfolder, 'machine_settings.py')) -sys.path.insert(0, bfpsfolder) -# import stuff required for compilation of static library -from machine_settings import compiler, include_dirs, library_dirs, extra_compile_args, extra_libraries - - ### package versioning import get_version VERSION = get_version.main() print('This is bfps version ' + VERSION) -### libraries -libraries = extra_libraries - - import distutils.cmd class CompileLibCommand(distutils.cmd.Command): @@ -90,12 +65,7 @@ class CompileLibCommand(distutils.cmd.Command): def run(self): ### save compiling information pickle.dump( - {'include_dirs' : include_dirs, - 'library_dirs' : library_dirs, - 'compiler' : compiler, - 'extra_compile_args' : eca, - 'libraries' : libraries, - 'install_date' : now, + {'install_date' : now, 'VERSION' : VERSION, 'git_revision' : git_revision}, open('bfps/install_info.pickle', 'wb'),