On 2016-11-25 04:04, Kit Chambers wrote: > I have a Cmake custom target which runs a python script: > > add_custom_target(run > COMMAND python myscript.py > ) > > ... > > To me it looks like my LD_LIBRARY_PATH and DYLD_LIBRARY_PATH are not being > passed through CMake to Python so it cannot find all the necessary sub > libraries. However, i cannot work out how to pass this information through.
As written, your custom target will be run with whatever environment your build tool decides to use. *Probably* that will be the environment when you actually run the build tool (make, ninja, etc.), but it's possible some build too might monkey with the environment in which it runs build commands. Also, requiring people building your software to modify their local environment is probably not ideal. You probably want to wrap your custom target's command with `${CMAKE_COMMAND} -E env ...` to ensure it gets the necessary environment. (Also, you should probably use `${PYTHON_EXECUTABLE}` instead of `python`, and, similarly, note `${CMAKE_COMMAND}` instead of `cmake`.) (Personally, I wouldn't mind seeing CMake learn an `ENVIRONMENT` option to add_custom_command / add_custom_target that would set up this wrapping automatically.) -- Matthew -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake