On 09/20/2014 11:53 PM, Nils Gladitz wrote:
On 20.09.2014 23:31, Roland Schulz wrote:
it would be nice if there were a way to emulate rpath under Windows.
As far as I can see there are two possible approaches:
- Generate a shell script which sets PATH
- Generate a manifest for the application and a manifest for the
dependencies.
http://sourceforge.net/p/mingw-w64/mailman/message/30019971/ has an
example of how to do it.

So I am thinking opt-in (target property) wrapper binaries that take the place of the actual binaries.

e.g.
  # Initializes ENABLE_EXECUTABLE_WRAPPER target property
  set(CMAKE_ENABLE_EXECUTABLE_WRAPPER ON)

  add_executable(foo foo.cpp)

Could produce
  foo.exe.real        # Actual target binary
  foo.exe.wrapper     # CMake generated configuration file
foo.exe # Wrapper binary that reads "foo.exe.wrapper", sets up the environment and runs "foo.exe.real"

COMMANDs (add_custom_command()/add_custom_target()/add_test()) could transparently call foo.exe (like they would have done without the wrapper).

install(TARGETS) should ignore the wrapper and transparently install and rename the real binary.

$<TARGET_FILE> should continue to point at the real binary.
A new $<TARGET_WRAPPER> could point at the wrapper binary.

The wrapper binary itself could be precompiled and included with cmake itself. It would determine which configuration to read and which binary to run by inspecting its own name.

I primarily had windows native builds in mind.
Are there additional use cases?

Nils

--

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-developers

Reply via email to