mirror of
https://github.com/NGSolve/netgen.git
synced 2025-02-04 00:50:37 +05:00
Merge branch 'config_python_file' into 'master'
Config python file See merge request jschoeberl/netgen!442
This commit is contained in:
commit
61a462b0be
@ -480,9 +480,6 @@ add_subdirectory(tutorials)
|
|||||||
add_subdirectory(py_tutorials)
|
add_subdirectory(py_tutorials)
|
||||||
add_subdirectory(doc)
|
add_subdirectory(doc)
|
||||||
add_subdirectory(nglib)
|
add_subdirectory(nglib)
|
||||||
if (USE_PYTHON)
|
|
||||||
add_subdirectory(python)
|
|
||||||
endif (USE_PYTHON)
|
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
@ -540,6 +537,9 @@ if(USE_NATIVE_ARCH)
|
|||||||
endif(APPLE)
|
endif(APPLE)
|
||||||
endif(USE_NATIVE_ARCH)
|
endif(USE_NATIVE_ARCH)
|
||||||
|
|
||||||
|
if (USE_PYTHON)
|
||||||
|
add_subdirectory(python)
|
||||||
|
endif (USE_PYTHON)
|
||||||
|
|
||||||
#######################################################################
|
#######################################################################
|
||||||
# Debian packager
|
# Debian packager
|
||||||
|
@ -2,12 +2,17 @@ if(NOT BDIR)
|
|||||||
set(BDIR ${CMAKE_CURRENT_BINARY_DIR})
|
set(BDIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(SKBUILD)
|
if(NETGEN_VERSION_GIT)
|
||||||
set(git_version_string ${GIT_NETGEN_VERSION})
|
set(git_version_string ${NETGEN_VERSION_GIT})
|
||||||
else(SKBUILD)
|
else()
|
||||||
find_package(Git REQUIRED)
|
find_package(Git REQUIRED)
|
||||||
execute_process(COMMAND git describe --tags --match "v[0-9]*" --long --dirty WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR} OUTPUT_VARIABLE git_version_string RESULT_VARIABLE status ERROR_QUIET)
|
execute_process(COMMAND git describe --tags --match "v[0-9]*" --long --dirty
|
||||||
endif(SKBUILD)
|
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
||||||
|
OUTPUT_VARIABLE git_version_string
|
||||||
|
RESULT_VARIABLE status
|
||||||
|
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(status AND NOT status EQUAL 0)
|
if(status AND NOT status EQUAL 0)
|
||||||
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../version.txt)
|
if(EXISTS ${CMAKE_CURRENT_LIST_DIR}/../version.txt)
|
||||||
@ -65,15 +70,6 @@ else()
|
|||||||
file(WRITE ${BDIR}/netgen_version.hpp ${new_version_file_string})
|
file(WRITE ${BDIR}/netgen_version.hpp ${new_version_file_string})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
set(py_version "${NETGEN_VERSION_MAJOR}.${NETGEN_VERSION_MINOR}.${NETGEN_VERSION_PATCH}")
|
|
||||||
if(${NETGEN_VERSION_TWEAK} GREATER 0)
|
|
||||||
set(py_version "${py_version}.dev${NETGEN_VERSION_TWEAK}")
|
|
||||||
endif()
|
|
||||||
if(NOT SKBUILD)
|
|
||||||
file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/python/version.py "__version__ = \"${py_version}\"\n")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
file(GENERATE OUTPUT netgen_config.hpp CONTENT
|
file(GENERATE OUTPUT netgen_config.hpp CONTENT
|
||||||
"\
|
"\
|
||||||
#ifndef NETGEN_CONFIG_HPP_INCLUDED___
|
#ifndef NETGEN_CONFIG_HPP_INCLUDED___
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
|
#include "ngcore_api.hpp"
|
||||||
#include "utils.hpp"
|
#include "utils.hpp"
|
||||||
#include "logging.hpp"
|
#include "logging.hpp"
|
||||||
|
#include "simd_generic.hpp"
|
||||||
|
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
#include <cxxabi.h>
|
#include <cxxabi.h>
|
||||||
@ -95,5 +97,19 @@ namespace ngcore
|
|||||||
int printmessage_importance = 0;
|
int printmessage_importance = 0;
|
||||||
bool NGSOStream :: glob_active = true;
|
bool NGSOStream :: glob_active = true;
|
||||||
|
|
||||||
|
NGCORE_API int GetCompiledSIMDSize()
|
||||||
|
{
|
||||||
|
return GetDefaultSIMDSize();
|
||||||
|
}
|
||||||
|
|
||||||
|
NGCORE_API bool IsRangeCheckEnabled()
|
||||||
|
{
|
||||||
|
#ifdef NETGEN_ENABLE_CHECK_RANGE
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace ngcore
|
} // namespace ngcore
|
||||||
|
|
||||||
|
@ -198,6 +198,8 @@ namespace ngcore
|
|||||||
~MyLock () { mutex.unlock(); }
|
~MyLock () { mutex.unlock(); }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
NGCORE_API int GetCompiledSIMDSize();
|
||||||
|
NGCORE_API bool IsRangeCheckEnabled();
|
||||||
|
|
||||||
} // namespace ngcore
|
} // namespace ngcore
|
||||||
|
|
||||||
|
@ -1,10 +1,15 @@
|
|||||||
configure_file(__init__.py ${CMAKE_CURRENT_BINARY_DIR}/__init__.py @ONLY)
|
get_target_property(ngcore_compile_definitions ngcore INTERFACE_COMPILE_DEFINITIONS)
|
||||||
|
get_property(have_options TARGET ngcore PROPERTY INTERFACE_COMPILE_OPTIONS SET)
|
||||||
|
if(have_options)
|
||||||
|
get_target_property(ngcore_compile_options ngcore INTERFACE_COMPILE_OPTIONS)
|
||||||
|
endif(have_options)
|
||||||
|
|
||||||
|
configure_file(config.py ${CMAKE_CURRENT_BINARY_DIR}/config.py @ONLY)
|
||||||
|
|
||||||
install(FILES
|
install(FILES
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/__init__.py __main__.py
|
${CMAKE_CURRENT_BINARY_DIR}/config.py __main__.py __init__.py
|
||||||
meshing.py csg.py geom2d.py stl.py gui.py NgOCC.py occ.py read_gmsh.py
|
meshing.py csg.py geom2d.py stl.py gui.py NgOCC.py occ.py read_gmsh.py
|
||||||
webgui.py
|
webgui.py
|
||||||
version.py # generated by either cmake or setup.py
|
|
||||||
DESTINATION ${NG_INSTALL_DIR_PYTHON}/${NG_INSTALL_SUFFIX}
|
DESTINATION ${NG_INSTALL_DIR_PYTHON}/${NG_INSTALL_SUFFIX}
|
||||||
COMPONENT netgen
|
COMPONENT netgen
|
||||||
)
|
)
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
_netgen_bin_dir=os.path.realpath(os.path.join(os.path.dirname(__file__),'..','@NETGEN_PYTHON_RPATH_BIN@'))
|
from . import config
|
||||||
_netgen_lib_dir=os.path.realpath(os.path.join(os.path.dirname(__file__),'..','@NETGEN_PYTHON_RPATH@'))
|
_netgen_bin_dir=os.path.realpath(os.path.join(os.path.dirname(__file__),'..',config.NETGEN_PYTHON_RPATH_BIN))
|
||||||
|
_netgen_lib_dir=os.path.realpath(os.path.join(os.path.dirname(__file__),'..',config.NETGEN_PYTHON_RPATH))
|
||||||
|
|
||||||
if sys.platform.startswith('win'):
|
if sys.platform.startswith('win'):
|
||||||
if sys.version >= '3.8':
|
if sys.version >= '3.8':
|
||||||
@ -13,8 +14,6 @@ if sys.platform.startswith('win'):
|
|||||||
del sys
|
del sys
|
||||||
del os
|
del os
|
||||||
|
|
||||||
from .version import __version__
|
|
||||||
|
|
||||||
from . import libngpy
|
from . import libngpy
|
||||||
|
|
||||||
def Redraw(*args, **kwargs):
|
def Redraw(*args, **kwargs):
|
||||||
|
55
python/config.py
Normal file
55
python/config.py
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
def _cmake_to_bool(s):
|
||||||
|
return s.upper() not in ['', '0','FALSE','OFF','N','NO','IGNORE','NOTFOUND']
|
||||||
|
|
||||||
|
is_python_package = _cmake_to_bool("@SKBUILD@")
|
||||||
|
|
||||||
|
BUILD_FOR_CONDA = _cmake_to_bool("@BUILD_FOR_CONDA@")
|
||||||
|
BUILD_STUB_FILES = _cmake_to_bool("@BUILD_STUB_FILES@")
|
||||||
|
CHECK_RANGE = _cmake_to_bool("@CHECK_RANGE@")
|
||||||
|
DEBUG_LOG = _cmake_to_bool("@DEBUG_LOG@")
|
||||||
|
ENABLE_CPP_CORE_GUIDELINES_CHECK = _cmake_to_bool("@ENABLE_CPP_CORE_GUIDELINES_CHECK@")
|
||||||
|
ENABLE_UNIT_TESTS = _cmake_to_bool("@ENABLE_UNIT_TESTS@")
|
||||||
|
INSTALL_PROFILES = _cmake_to_bool("@INSTALL_PROFILES@")
|
||||||
|
INTEL_MIC = _cmake_to_bool("@INTEL_MIC@")
|
||||||
|
TRACE_MEMORY = _cmake_to_bool("@TRACE_MEMORY@")
|
||||||
|
USE_CCACHE = _cmake_to_bool("@USE_CCACHE@")
|
||||||
|
USE_CGNS = _cmake_to_bool("@USE_CGNS@")
|
||||||
|
USE_GUI = _cmake_to_bool("@USE_GUI@")
|
||||||
|
USE_INTERNAL_TCL = _cmake_to_bool("@USE_INTERNAL_TCL@")
|
||||||
|
USE_JPEG = _cmake_to_bool("@USE_JPEG@")
|
||||||
|
USE_MPEG = _cmake_to_bool("@USE_MPEG@")
|
||||||
|
USE_MPI = _cmake_to_bool("@USE_MPI@")
|
||||||
|
USE_MPI4PY = _cmake_to_bool("@USE_MPI4PY@")
|
||||||
|
USE_NATIVE_ARCH = _cmake_to_bool("@USE_NATIVE_ARCH@")
|
||||||
|
USE_NUMA = _cmake_to_bool("@USE_NUMA@")
|
||||||
|
USE_OCC = _cmake_to_bool("@USE_OCC@")
|
||||||
|
USE_PYTHON = _cmake_to_bool("@USE_PYTHON@")
|
||||||
|
USE_SPDLOG = _cmake_to_bool("@USE_SPDLOG@")
|
||||||
|
|
||||||
|
CMAKE_INSTALL_PREFIX = "@CMAKE_INSTALL_PREFIX@"
|
||||||
|
NG_INSTALL_DIR_PYTHON = "@NG_INSTALL_DIR_PYTHON_DEFAULT@"
|
||||||
|
NG_INSTALL_DIR_BIN = "@NG_INSTALL_DIR_BIN_DEFAULT@"
|
||||||
|
NG_INSTALL_DIR_LIB = "@NG_INSTALL_DIR_LIB_DEFAULT@"
|
||||||
|
NG_INSTALL_DIR_INCLUDE = "@NG_INSTALL_DIR_INCLUDE_DEFAULT@"
|
||||||
|
NG_INSTALL_DIR_CMAKE = "@NG_INSTALL_DIR_CMAKE_DEFAULT@"
|
||||||
|
NG_INSTALL_DIR_RES = "@NG_INSTALL_DIR_RES_DEFAULT@"
|
||||||
|
|
||||||
|
NETGEN_PYTHON_RPATH_BIN = "@NETGEN_PYTHON_RPATH_BIN@"
|
||||||
|
NETGEN_PYTHON_RPATH = "@NETGEN_PYTHON_RPATH@"
|
||||||
|
NETGEN_PYTHON_PACKAGE_NAME = "@NETGEN_PYTHON_PACKAGE_NAME@"
|
||||||
|
|
||||||
|
NG_COMPILE_FLAGS = "@NG_COMPILE_FLAGS@"
|
||||||
|
ngcore_compile_options = "@ngcore_compile_options@"
|
||||||
|
ngcore_compile_definitions = "@ngcore_compile_definitions@"
|
||||||
|
|
||||||
|
NETGEN_VERSION = "@NETGEN_VERSION@"
|
||||||
|
NETGEN_VERSION_GIT = "@git_version_string@"
|
||||||
|
NETGEN_VERSION_PYTHON = "@NETGEN_VERSION_PYTHON@"
|
||||||
|
|
||||||
|
NETGEN_VERSION_MAJOR = "@NETGEN_VERSION_MAJOR@"
|
||||||
|
NETGEN_VERSION_MINOR = "@NETGEN_VERSION_MINOR@"
|
||||||
|
NETGEN_VERSION_TWEAK = "@NETGEN_VERSION_TWEAK@"
|
||||||
|
NETGEN_VERSION_PATCH = "@NETGEN_VERSION_PATCH@"
|
||||||
|
NETGEN_VERSION_HASH = "@NETGEN_VERSION_HASH@"
|
||||||
|
|
||||||
|
version = NETGEN_VERSION_GIT
|
4
setup.py
4
setup.py
@ -38,7 +38,8 @@ py_install_dir = get_python_lib(1,0,'').replace('\\','/')
|
|||||||
name = "netgen-mesher"
|
name = "netgen-mesher"
|
||||||
arch = None
|
arch = None
|
||||||
cmake_args = [
|
cmake_args = [
|
||||||
f'-DGIT_NETGEN_VERSION={git_version}',
|
f'-DNETGEN_VERSION_GIT={git_version}',
|
||||||
|
f'-DNETGEN_VERSION_PYTHON={version}',
|
||||||
]
|
]
|
||||||
|
|
||||||
if 'NETGEN_ARCH' in os.environ:
|
if 'NETGEN_ARCH' in os.environ:
|
||||||
@ -80,6 +81,7 @@ cmake_args += [
|
|||||||
'-DBUILD_OCC=ON',
|
'-DBUILD_OCC=ON',
|
||||||
'-DUSE_OCC=ON',
|
'-DUSE_OCC=ON',
|
||||||
'-DBUILD_FOR_CONDA=ON',
|
'-DBUILD_FOR_CONDA=ON',
|
||||||
|
f'-DNETGEN_PYTHON_PACKAGE_NAME={name}',
|
||||||
]
|
]
|
||||||
|
|
||||||
if 'PYDIR' in os.environ:
|
if 'PYDIR' in os.environ:
|
||||||
|
Loading…
Reference in New Issue
Block a user