summaryrefslogtreecommitdiffstats
path: root/Tests/FindPackageModeMakefileTest/Makefile.in
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 /Tests/FindPackageModeMakefileTest/Makefile.in
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.
Diffstat (limited to 'Tests/FindPackageModeMakefileTest/Makefile.in')
-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