summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel R. Gomez <gomez@teragram.com>2012-06-18 20:25:10 (GMT)
committerBrad King <brad.king@kitware.com>2012-06-19 12:26:01 (GMT)
commit09ff191c3f38d9e1af1ca93ab731c26c096d189d (patch)
tree4345ef92bc5fb30c1e690be9cc2b1b1d8e08a070
parentb39924cf222e0c2e958a780dfe77ca60592d2afd (diff)
downloadCMake-09ff191c3f38d9e1af1ca93ab731c26c096d189d.zip
CMake-09ff191c3f38d9e1af1ca93ab731c26c096d189d.tar.gz
CMake-09ff191c3f38d9e1af1ca93ab731c26c096d189d.tar.bz2
Fix FindPackageMode test Makefile (#13314)
Use CXXFLAGS in the makefile's link rule since it invokes the C++ compiler front-end. Retool the makefile not to require GNU Make. Using backticks instead of $(shell ...) is safe so long as one guards against the possibility of backslashes getting inside the backticks, so use temporary files and shell variables to avoid them.
-rw-r--r--Tests/FindPackageModeMakefileTest/Makefile.in25
1 files changed, 22 insertions, 3 deletions
diff --git a/Tests/FindPackageModeMakefileTest/Makefile.in b/Tests/FindPackageModeMakefileTest/Makefile.in
index 073d82e..f647901 100644
--- a/Tests/FindPackageModeMakefileTest/Makefile.in
+++ b/Tests/FindPackageModeMakefileTest/Makefile.in
@@ -1,10 +1,29 @@
+CMAKE = "@cmakeExecutable@"
+CMAKE_CURRENT_BINARY_DIR = "@CMAKE_CURRENT_BINARY_DIR@"
+CMAKE_CXX_COMPILER = "@CMAKE_CXX_COMPILER@"
+CMAKE_CXX_COMPILER_ID = "@CMAKE_CXX_COMPILER_ID@"
+
+CMAKE_FOO = $(CMAKE) --find-package -DCMAKE_MODULE_PATH=$(CMAKE_CURRENT_BINARY_DIR) -DNAME=Foo -DLANGUAGE=CXX -DCOMPILER_ID=$(CMAKE_CXX_COMPILER_ID)
+
+tmp = tmp.txt
+
all: clean pngtest
main.o: main.cpp
- "@CMAKE_CXX_COMPILER@" $(CXXFLAGS) -c $(shell "@cmakeExecutable@" --find-package -DCMAKE_MODULE_PATH="@CMAKE_CURRENT_BINARY_DIR@" -DNAME=Foo -DLANGUAGE=CXX -DCOMPILER_ID=@CMAKE_CXX_COMPILER_ID@ -DMODE=COMPILE) main.cpp
+ @$(CMAKE_FOO) -DMODE=COMPILE >$(tmp)
+ @foo="`cat $(tmp)`"; \
+ printf '"%s" %s %s -c main.cpp\n' $(CMAKE_CXX_COMPILER) "$(CXXFLAGS)" "$$foo" >$(tmp)
+ @cat $(tmp)
+ @sh $(tmp)
+ @rm -f $(tmp)
pngtest: main.o
- "@CMAKE_CXX_COMPILER@" $(LDFLAGS) -o pngtest main.o $(shell "@cmakeExecutable@" --find-package -DCMAKE_MODULE_PATH="@CMAKE_CURRENT_BINARY_DIR@" -DNAME=Foo -DLANGUAGE=CXX -DCOMPILER_ID=@CMAKE_CXX_COMPILER_ID@ -DMODE=LINK)
+ @$(CMAKE_FOO) -DMODE=LINK >$(tmp)
+ @foo="`cat $(tmp)`"; \
+ printf '"%s" %s %s -o pngtest main.o %s\n' $(CMAKE_CXX_COMPILER) "$(CXXFLAGS)" "$(LDFLAGS)" "$$foo" >$(tmp)
+ @cat $(tmp)
+ @sh $(tmp)
+ @rm -f $(tmp)
clean:
- rm -f *.o pngtest
+ rm -f $(tmp) *.o pngtest