From 9266c1b3abc538a05297eba3ef95bda3c5f71de8 Mon Sep 17 00:00:00 2001
From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Fri, 15 Mar 2019 14:03:12 +0100
Subject: [PATCH] update host_info installation

---
 CMakeLists.txt          |  5 +++
 CMakeLists_packages.txt | 71 -----------------------------------------
 bfps/DNS.py             |  6 ----
 bfps/PP.py              |  6 ----
 bfps/TEST.py            |  6 ----
 bfps/_code.py           | 12 +++----
 setup.py                | 32 +------------------
 7 files changed, 10 insertions(+), 128 deletions(-)
 delete mode 100644 CMakeLists_packages.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 86385736..2011f0e8 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 17a1099c..00000000
--- 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 e0d83caf..4388a292 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 77bf9d6c..4a8cff4b 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 66b2b4aa..80adf39f 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 f06e7198..ee196fe7 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 925f6521..c9a8b70b 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'),
-- 
GitLab