LibiglWindows.cmake 1.2 KB

1234567891011121314151617181920212223242526
  1. if(MSVC)
  2. option(IGL_STATIC_RUNTIME "Use libigl with the static MSVC runtime." OFF)
  3. if(IGL_STATIC_RUNTIME)
  4. message(STATUS "MSVC -> forcing use of statically-linked runtime.")
  5. foreach(config ${CMAKE_CONFIGURATION_TYPES})
  6. string(TOUPPER ${config} config)
  7. string(REPLACE /MD /MT CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
  8. string(REPLACE /MD /MT CMAKE_CXX_FLAGS_${config} "${CMAKE_CXX_FLAGS_${config}}")
  9. endforeach()
  10. string(REPLACE "/MDd" "/MTd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
  11. else()
  12. message(STATUS "MSVC -> forcing use of dynamically-linked runtime.")
  13. foreach(config ${CMAKE_CONFIGURATION_TYPES})
  14. string(TOUPPER ${config} config)
  15. string(REPLACE /MT /MD CMAKE_C_FLAGS_${config} "${CMAKE_C_FLAGS_${config}}")
  16. string(REPLACE /MT /MD CMAKE_CXX_FLAGS_${config} "${CMAKE_CXX_FLAGS_${config}}")
  17. endforeach()
  18. string(REPLACE "/MTd" "/MDd" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
  19. endif()
  20. # https://github.com/mozilla/sccache/issues/242
  21. if(CMAKE_CXX_COMPILER_LAUNCHER STREQUAL "sccache")
  22. string(REGEX REPLACE "/Z[iI7]" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
  23. set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Z7")
  24. endif()
  25. endif()