TARGET_SONAME_IMPORT_FILE.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. enable_language(C)
  2. set (GENERATE_CONTENT [[
  3. macro (CHECK_VALUE test_msg value expected)
  4. if (NOT "${value}" STREQUAL "${expected}")
  5. string (APPEND RunCMake_TEST_FAILED "${test_msg}: actual result:\n [${value}]\nbut expected:\n [${expected}]\n")
  6. endif()
  7. endmacro()
  8. ]])
  9. add_library (shared1 SHARED empty.c)
  10. set_property (TARGET shared1 PROPERTY VERSION 2.5.0)
  11. set_property (TARGET shared1 PROPERTY SOVERSION 2.0.0)
  12. string (APPEND GENERATE_CONTENT
  13. "\ncheck_value (\"TARGET_SONAME_IMPORT_FILE shared library\" \"$<TARGET_SONAME_IMPORT_FILE:shared1>\" \"\")\n")
  14. add_library (shared2 SHARED empty.c)
  15. set_property(TARGET shared2 PROPERTY ENABLE_EXPORTS ON)
  16. set_property (TARGET shared2 PROPERTY VERSION 2.5.0)
  17. set_property (TARGET shared2 PROPERTY SOVERSION 2.0.0)
  18. string (APPEND GENERATE_CONTENT
  19. "\ncheck_value (\"TARGET_SONAME_IMPORT_FILE shared library\" \"$<TARGET_SONAME_IMPORT_FILE:shared2>\" \"$<$<BOOL:${CMAKE_TAPI}>:$<PATH:REPLACE_EXTENSION,LAST_ONLY,$<TARGET_SONAME_FILE:shared2>,.tbd>>\")\n")
  20. file (GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/TARGET_SONAME_IMPORT_FILE-$<CONFIG>-generated.cmake"
  21. CONTENT "${GENERATE_CONTENT}")