Open ptheywood opened 4 years ago
Possibly pack the include headers into the executable? (this seems daft)
It's certainly unusual, however current headers dir is 503kb, size of the smallest debug executable on windows is 20mb.
Bearing in mind, we plan to reduce the size of header dir further in future, it's not the most insane idea.
It's also the only portable method, assuming no weird machines without write access. Although jitify does just load the headers from disk, so we could pass them as string in the jitify (filename)\n<file data>
format.
The recent patch searches relative to the current working directory, rather than the current binary's directory, so calling from outside can lead to the path not being found. Both would probably be a wise choice.
That's a good shout, I didn't consider it tbh. I'd just need to check each platform's way of getting binary location. Trivial addition.
Some of this should also be conisdered pre binary release #514
Worth noting, the Python wheel now includes the RTC headers. Though C RTC binaries don't.
support FLAMEGPU2_INC_DIR
(deprecated but works, lwoer priotiy) and FLAMEGPU_INC_DIR
GLM_INC_DIR
environment variable to override path.
Currently 2 environment variables are required to jitify/rtc compilation:
CUDA_PATH
pointing to the root of the relevant CUDA versionFLAMEGPU2_INC_DIR
pointint toflamegpu2_dev/include
This could be improved by:
[x] also attempting other common environmental variables (
CUDA_HOME
/CUDA_ROOT
are semi-common alternatives toCUDA_PATH
)[ ] fallback to trying the baked in path to the CUDA version used to compile the executable (if running on the same machine)
[ ] try he location of
include
from compile time (abs path, and / or relative to executable expected location)[ ] Possibly pack the include headers into the executable? (this seems daft)
[ ] set FLAMEGPU2_ROOT instead, and infer
/include
from that.Readme statment about
CUDA_PATH
being set by the installer is untrue for linux and also for windows when using the silent installerThis needs to be
The current implementation (fbf2c8e) also doesn't check that the value of
FLAMEGPU2_INC_DIR
is valid or correct, leading to misleading errors, rather than an appropraite exception.FLAMEGPU2_INC_DIR
is a valid directory, with atleast one flamegpu2 header file.CUDA_PATH
is valid (look for bin/nvcc)When including the FLAMEGPU2 repo via cmake in an individual example project, the include dir is not found automatically, requiring the env variable to be set. The env variable being set globally is also a potential issue, i.e. if you have 2 examples each using a different version of the core F2 on the same machine.
FLAMEGPU2_INC_DIR
is not defined.FLAMEGPU2_INC_DIR
is defined but is wrong. maybe fallback to checking locally?FLAMEGPU2_INC_DIR
FLAMEGPU_INC_DIR
, as it will not always be FLAMEGPU2.x.y
?