CMP0091-common.cmake 981 B

12345678910111213141516171819202122232425262728293031323334353637
  1. enable_language(C)
  2. cmake_policy(GET CMP0091 cmp0091)
  3. if(cmp0091 STREQUAL "NEW")
  4. if(NOT CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT)
  5. message(SEND_ERROR "CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT not set under NEW behavior")
  6. endif()
  7. else()
  8. if(CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT)
  9. message(SEND_ERROR "CMAKE_MSVC_RUNTIME_LIBRARY_DEFAULT is set under OLD behavior")
  10. endif()
  11. endif()
  12. if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
  13. if(CMAKE_C_FLAGS_DEBUG MATCHES "[/-]MDd( |$)")
  14. set(have_MDd 1)
  15. else()
  16. set(have_MDd 0)
  17. endif()
  18. if(CMAKE_C_FLAGS_RELEASE MATCHES "[/-]MD( |$)")
  19. set(have_MD 1)
  20. else()
  21. set(have_MD 0)
  22. endif()
  23. if(cmp0091 STREQUAL "NEW")
  24. if(have_MDd OR have_MD)
  25. message(SEND_ERROR "Have a -MD* flag under NEW behavior.")
  26. endif()
  27. else()
  28. if(NOT (have_MDd AND have_MD))
  29. message(SEND_ERROR "Do not have -MD* flags under OLD behavior.")
  30. endif()
  31. endif()
  32. endif()
  33. set(CMAKE_MSVC_RUNTIME_LIBRARY BogusValue)
  34. add_library(foo empty.c)