file-GET_RUNTIME_DEPENDENCIES-linux-notfile.cmake 795 B

1234567891011121314151617181920212223242526272829
  1. enable_language(C)
  2. file(WRITE "${CMAKE_BINARY_DIR}/test.c" "void test(void) {}\n")
  3. file(WRITE "${CMAKE_BINARY_DIR}/main.c" [[extern void test(void);
  4. int main(void)
  5. {
  6. test();
  7. return 0;
  8. }
  9. ]])
  10. add_library(test SHARED "${CMAKE_BINARY_DIR}/test.c")
  11. add_executable(exe "${CMAKE_BINARY_DIR}/main.c")
  12. target_link_libraries(exe PRIVATE test)
  13. set_property(TARGET exe PROPERTY INSTALL_RPATH "\\\${ORIGIN}/../lib")
  14. install(TARGETS exe DESTINATION bin)
  15. install(CODE [[
  16. file(MAKE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/lib/$<TARGET_FILE_NAME:test>")
  17. file(GET_RUNTIME_DEPENDENCIES
  18. EXECUTABLES
  19. "${CMAKE_INSTALL_PREFIX}/bin/$<TARGET_FILE_NAME:exe>"
  20. PRE_INCLUDE_REGEXES "^libtest\\.so$"
  21. PRE_EXCLUDE_REGEXES ".*"
  22. )
  23. message(FATAL_ERROR "This message should not be displayed")
  24. ]])