| 123456789101112131415161718192021222324252627282930313233343536 |
- macro(RuntimeLibrary_check tgt rtl_expect)
- set(vcProjectFile "${RunCMake_TEST_BINARY_DIR}/${tgt}.vcxproj")
- if(NOT EXISTS "${vcProjectFile}")
- set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not exist.")
- return()
- endif()
- set(HAVE_Runtimelibrary 0)
- file(STRINGS "${vcProjectFile}" lines)
- foreach(line IN LISTS lines)
- if(line MATCHES "^ *<RuntimeLibrary>([^<>]+)</RuntimeLibrary>")
- set(rtl_actual "${CMAKE_MATCH_1}")
- if(NOT "${rtl_actual}" STREQUAL "${rtl_expect}")
- set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj has RuntimeLibrary '${rtl_actual}', not '${rtl_expect}'.")
- return()
- endif()
- set(HAVE_Runtimelibrary 1)
- break()
- endif()
- endforeach()
- if(NOT HAVE_Runtimelibrary AND NOT "${rtl_expect}" STREQUAL "")
- set(RunCMake_TEST_FAILED "Project file ${tgt}.vcxproj does not have a RuntimeLibrary field.")
- return()
- endif()
- endmacro()
- RuntimeLibrary_check(default-C MultiThreadedDebugDLL)
- RuntimeLibrary_check(default-CXX MultiThreadedDebugDLL)
- RuntimeLibrary_check(empty-C "")
- RuntimeLibrary_check(empty-CXX "")
- RuntimeLibrary_check(MTd-C MultiThreadedDebug)
- RuntimeLibrary_check(MTd-CXX MultiThreadedDebug)
- RuntimeLibrary_check(MT-C MultiThreaded)
- RuntimeLibrary_check(MT-CXX MultiThreaded)
|