summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2010-06-03 13:37:17 (GMT)
committerBrad King <brad.king@kitware.com>2010-06-03 13:47:23 (GMT)
commitc8b13ecc380e38eda475974bc7ab515a65fe90cc (patch)
treec77b10ee6ea6f01dced7050f917f2555b727ff96
parenta9b24af25c8206c5041e2d3e44a9dd3d52fbfe92 (diff)
downloadCMake-c8b13ecc380e38eda475974bc7ab515a65fe90cc.zip
CMake-c8b13ecc380e38eda475974bc7ab515a65fe90cc.tar.gz
CMake-c8b13ecc380e38eda475974bc7ab515a65fe90cc.tar.bz2
Intel-specific workaround for LinkFlags tests
The Intel C compiler for Linux does not seem to reject any bad flags or object files on its link lines. Work around the problem by using a preprocessor #error directive to ensure that BADFLAG appears in the build output. This does not really achieve the purpose of the tests but it allows them to pass.
-rw-r--r--Tests/LinkFlags/CMakeLists.txt4
-rw-r--r--Tests/LinkFlags/LinkFlagsExe.c6
-rw-r--r--Tests/LinkFlags/LinkFlagsLib.c5
3 files changed, 13 insertions, 2 deletions
diff --git a/Tests/LinkFlags/CMakeLists.txt b/Tests/LinkFlags/CMakeLists.txt
index ee547e4..e06020c 100644
--- a/Tests/LinkFlags/CMakeLists.txt
+++ b/Tests/LinkFlags/CMakeLists.txt
@@ -13,7 +13,7 @@ set_property(TARGET LinkFlags_lib PROPERTY STATIC_LIBRARY_FLAGS ${pre}BADFLAG${o
add_library(LinkFlags_dll SHARED LinkFlagsLib.c)
set_property(TARGET LinkFlags_dll PROPERTY LINK_FLAGS ${pre}BADFLAG${obj})
-add_executable(LinkFlags_exe LinkFlags.c)
+add_executable(LinkFlags_exe LinkFlagsExe.c)
set_property(TARGET LinkFlags_exe PROPERTY LINK_FLAGS ${pre}BADFLAG${obj})
add_library(LinkFlags_lib_config STATIC LinkFlagsLib.c)
@@ -22,7 +22,7 @@ set_property(TARGET LinkFlags_lib_config PROPERTY STATIC_LIBRARY_FLAGS_${TEST_CO
add_library(LinkFlags_dll_config SHARED LinkFlagsLib.c)
set_property(TARGET LinkFlags_dll_config PROPERTY LINK_FLAGS_${TEST_CONFIG_UPPER} ${pre}BADFLAG_${TEST_CONFIG}${obj})
-add_executable(LinkFlags_exe_config LinkFlags.c)
+add_executable(LinkFlags_exe_config LinkFlagsExe.c)
set_property(TARGET LinkFlags_exe_config PROPERTY LINK_FLAGS_${TEST_CONFIG_UPPER} ${pre}BADFLAG_${TEST_CONFIG}${obj})
add_executable(LinkFlags LinkFlags.c)
diff --git a/Tests/LinkFlags/LinkFlagsExe.c b/Tests/LinkFlags/LinkFlagsExe.c
new file mode 100644
index 0000000..123587a
--- /dev/null
+++ b/Tests/LinkFlags/LinkFlagsExe.c
@@ -0,0 +1,6 @@
+int main(void) { return 0; }
+
+/* Intel compiler does not reject bad flags or objects! */
+#if defined(__INTEL_COMPILER)
+# error BADFLAG
+#endif
diff --git a/Tests/LinkFlags/LinkFlagsLib.c b/Tests/LinkFlags/LinkFlagsLib.c
index f002eef..9d8d088 100644
--- a/Tests/LinkFlags/LinkFlagsLib.c
+++ b/Tests/LinkFlags/LinkFlagsLib.c
@@ -1 +1,6 @@
int flags_lib(void) { return 0; }
+
+/* Intel compiler does not reject bad flags or objects! */
+#if defined(__INTEL_COMPILER)
+# error BADFLAG
+#endif