MysqlConfig.cmake 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
  2. message (FATAL_ERROR "CMake >= 2.6.0 required")
  3. endif ()
  4. cmake_policy (PUSH)
  5. cmake_policy (VERSION 2.6...3.18)
  6. # Compute the installation prefix relative to this file.
  7. get_filename_component (_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
  8. if (CMAKE_EXE_LINKER_FLAGS MATCHES "x64")
  9. set (_IMPORT_PREFIX "${_IMPORT_PREFIX}/mysql-x64")
  10. else()
  11. set (_IMPORT_PREFIX "${_IMPORT_PREFIX}/mysql")
  12. endif ()
  13. if (MYSQL_USE_STATIC_LIBS)
  14. # Create imported target Mysql::Mysql as static
  15. add_library (Mysql::Mysql STATIC IMPORTED)
  16. set_target_properties (Mysql::Mysql PROPERTIES
  17. IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/mysqlclient.lib"
  18. )
  19. else()
  20. # Create imported target Mysql::Mysql as shared
  21. add_library (Mysql::Mysql SHARED IMPORTED)
  22. set_target_properties (Mysql::Mysql PROPERTIES
  23. IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/libmysql.lib"
  24. IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libmysql.dll"
  25. )
  26. endif()
  27. set_target_properties (Mysql::Mysql PROPERTIES
  28. INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
  29. INTERFACE_LINK_LIBRARIES "Mysql::SSL;Mysql::Crypto"
  30. IMPORTED_CONFIGURATIONS "RELEASE"
  31. IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
  32. MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release
  33. MAP_IMPORTED_CONFIG_MINSIZEREL Release
  34. MAP_IMPORTED_CONFIG_DEBUG Release
  35. )
  36. # Dependencies - have to be installed together
  37. add_library ( Mysql::SSL INTERFACE IMPORTED )
  38. set_target_properties ( Mysql::SSL PROPERTIES LOCATION "${_IMPORT_PREFIX}/bin/libssl-3-x64.dll" )
  39. add_library ( Mysql::Crypto INTERFACE IMPORTED )
  40. set_target_properties ( Mysql::Crypto PROPERTIES LOCATION "${_IMPORT_PREFIX}/bin/libcrypto-3-x64.dll" )
  41. if (CMAKE_VERSION VERSION_LESS 3.1.0)
  42. message (FATAL_ERROR "This file relies on consumers using CMake 3.1.0 or greater.")
  43. endif ()
  44. # Cleanup temporary variables.
  45. set (_IMPORT_PREFIX)
  46. cmake_policy (POP)