From 383bf3b5e7609621719a8923b65d003087789e98 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 2 Sep 2019 14:43:23 +0200 Subject: Precompile Headers: Fix Visual Studio 10 unit test The unit test is more roboust, problems like c: vs C: or having relative paths of cmake_pch.cxx instead of absolute paths. --- .../VS10Project/VsPrecompileHeaders-check.cmake | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake b/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake index 82ca421..27842f9 100644 --- a/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake +++ b/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake @@ -1,13 +1,11 @@ -set(pch_header "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/tgt.dir/cmake_pch.hxx") -set(pch_source "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/tgt.dir/cmake_pch.cxx") +set(pch_header "CMakeFiles/tgt.dir/cmake_pch.hxx") +set(pch_source [=[CMakeFiles\\tgt.dir\\cmake_pch.cxx]=]) -file(TO_NATIVE_PATH "${pch_source}" pch_source_win) - -if(NOT EXISTS "${pch_header}") +if(NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/${pch_header}") set(RunCMake_TEST_FAILED "Generated PCH header ${pch_header} does not exist.") return() endif() -if(NOT EXISTS "${pch_source}") +if(NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/${pch_source}") set(RunCMake_TEST_FAILED "Generated PCH header ${pch_source} does not exist.") return() endif() @@ -29,16 +27,15 @@ foreach(line IN LISTS tgt_projects_strings) set(have_pch_create ON) endif() - if (line MATCHES "${pch_header}") + if (line MATCHES ".*${pch_header}") set(have_pch_header ON) endif() - if (line MATCHES "${pch_header}") + if (line MATCHES ".*${pch_header}") set(have_force_pch_header ON) endif() - string(FIND "${line}" "" find_pos) - if (NOT find_pos EQUAL "-1") + if (line MATCHES "") set(have_pch_source_compile ON) endif() endforeach() @@ -64,6 +61,6 @@ if (NOT have_force_pch_header) endif() if (NOT have_pch_source_compile) - set(RunCMake_TEST_FAILED "Generated project should have the block.") + set(RunCMake_TEST_FAILED "Generated project should have the block.") return() endif() -- cgit v0.12