XcodePrecompileHeaders-check.cmake 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. set(pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/tgt.dir/cmake_pch.hxx")
  2. if(NOT EXISTS "${pch_header}")
  3. set(RunCMake_TEST_FAILED "Generated PCH header ${pch_header} does not exist.")
  4. return()
  5. endif()
  6. set(tgt_project "${RunCMake_TEST_BINARY_DIR}/XcodePrecompileHeaders.xcodeproj/project.pbxproj")
  7. if (NOT EXISTS "${tgt_project}")
  8. set(RunCMake_TEST_FAILED "Generated project file ${tgt_project} doesn't exist.")
  9. return()
  10. endif()
  11. file(STRINGS ${tgt_project} tgt_projects_strings)
  12. foreach(line IN LISTS tgt_projects_strings)
  13. if (line MATCHES "GCC_PRECOMPILE_PREFIX_HEADER = YES;")
  14. set(have_pch_prefix ON)
  15. endif()
  16. string(FIND "${line}" "GCC_PREFIX_HEADER = \"${pch_header}\";" find_pos)
  17. if (NOT find_pos EQUAL "-1")
  18. set(have_pch_header ON)
  19. endif()
  20. endforeach()
  21. if (NOT have_pch_prefix)
  22. set(RunCMake_TEST_FAILED "Generated project should have the GCC_PRECOMPILE_PREFIX_HEADER = YES; line.")
  23. return()
  24. endif()
  25. if (NOT have_pch_header)
  26. set(RunCMake_TEST_FAILED "Generated project should have the GCC_PREFIX_HEADER = \"${pch_header}\"; line.")
  27. return()
  28. endif()