Currently, on ARM and PPC, CMakeLists.txt uses:
set(CMAKE_CXX_FLAGS "-DNO_WARN_X86_INTRINSICS -DSSE_CORRECT_DENORMALS")
but this overwrites the default value of CMAKE_CXX_FLAGS from CMake,
including user-specified CXXFLAGS via environmental variable, making
it impossible to change CXXFLAGS.
This patch appends instead of overwrite CMAKE_CXX_FLAGS via:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DNO_WARN_X86_INTRINSICS -DSSE_CORRECT_DENORMALS")
Signed-off-by: Yifeng Li <tomli@tomli.me>
Currently, running openEMS's example Python scripts on macOS always fails
with the following error:
$ python3 MSL_NotchFilter.py
Traceback (most recent call last):
File "/Users/gentoo/code/openEMS-Project/openEMS/python/Tutorials/MSL_NotchFilter.py", line 103, in <module>
FDTD.Run(Sim_Path, cleanup=True)
File "openEMS/openEMS.pyx", line 489, in openEMS.openEMS.openEMS.Run
AssertionError
This is caused by an oversight of an assertion in openEMS.pyx:
os.chdir(sim_path)
# ...
assert os.getcwd() == sim_path
The problem here is that "sim_path" is not a canonical path name,
so the assertion would fail if the path we're switching into contains
a symbolic link. This problem affects all operating systems, it's not
limited to macOS. But on macOS, the problem is especially serious,
since macOS's "/tmp" is a link to "/private/tmp" by default. Thus, it
causes an AssertionError in all the included Python examples.
Instead of doing "assert os.getcwd() == sim_path", we should write
"assert os.getcwd() == os.path.realpath(sim_path)" to ensure that
we're checking a canonical path.
Signed-off-by: Yifeng Li <tomli@tomli.me>
Accroding to NumPy's development team, "for a long time, np.int has
been an alias of the builtin int. This is repeatedly a cause of
confusion for newcomers, and existed mainly for historic reasons."
This and many other aliases have been deprecated since NumPy v1.20.0,
and at this point they've been completely removed. Replace "np.int"
with "int" allows ports.py to run again.
Signed-off-by: Yifeng Li <tomli@tomli.me>
A simulation path that contains a whitespace character (and probably a lot of other characters that have special meanings inside a shell) leads to an scp failure when the simulation data is copied back to the host machine. Replacing [pwd '/'] by just './' as the back-copying destination fixes this problem.