From 6a145fb2bece19f04079778c3cb3326cd37a78ee Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 23 May 2007 17:58:14 -0400 Subject: [PATCH] BUG: Report proper error message when project does not build the first time. Also added hack to rebuild subproject several times for Xcode. The generator should be fixed and the hack removed. --- Tests/BuildDepends/CMakeLists.txt | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Tests/BuildDepends/CMakeLists.txt b/Tests/BuildDepends/CMakeLists.txt index 3a4ba2697..6acb8448b 100644 --- a/Tests/BuildDepends/CMakeLists.txt +++ b/Tests/BuildDepends/CMakeLists.txt @@ -13,6 +13,19 @@ try_compile(RESULT ${BuildDepends_SOURCE_DIR}/Project testRebuild OUTPUT_VARIABLE OUTPUT) +IF("${CMAKE_GENERATOR}" MATCHES "Xcode") + try_compile(RESULT + ${BuildDepends_BINARY_DIR}/Project + ${BuildDepends_SOURCE_DIR}/Project + testRebuild + OUTPUT_VARIABLE OUTPUT) + try_compile(RESULT + ${BuildDepends_BINARY_DIR}/Project + ${BuildDepends_SOURCE_DIR}/Project + testRebuild + OUTPUT_VARIABLE OUTPUT) +ENDIF("${CMAKE_GENERATOR}" MATCHES "Xcode") + if(NOT RESULT) message(SEND_ERROR "Could not build test project: ${OUTPUT}") endif(NOT RESULT) @@ -33,7 +46,7 @@ message("${out}") if("${out}" STREQUAL "foo ") message("Worked!") else("${out}" STREQUAL "foo ") - message(SEND_ERROR "Program did not rebuild with changed file: ${out}") + message(SEND_ERROR "Project did not initially build properly: ${out}") endif("${out}" STREQUAL "foo ") write_file(${BuildDepends_BINARY_DIR}/Project/foo.cxx @@ -44,6 +57,20 @@ try_compile(RESULT testRebuild OUTPUT_VARIABLE OUTPUT) +# Xcode is in serious need of help here +IF("${CMAKE_GENERATOR}" MATCHES "Xcode") + try_compile(RESULT + ${BuildDepends_BINARY_DIR}/Project + ${BuildDepends_SOURCE_DIR}/Project + testRebuild + OUTPUT_VARIABLE OUTPUT) + try_compile(RESULT + ${BuildDepends_BINARY_DIR}/Project + ${BuildDepends_SOURCE_DIR}/Project + testRebuild + OUTPUT_VARIABLE OUTPUT) +ENDIF("${CMAKE_GENERATOR}" MATCHES "Xcode") + if(NOT RESULT) message(SEND_ERROR "Could not build test project: ${OUTPUT}") endif(NOT RESULT)