diff options
author | Daniel R. Gomez <gomez@teragram.com> | 2012-06-18 20:25:10 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2012-06-19 12:26:01 (GMT) |
commit | 09ff191c3f38d9e1af1ca93ab731c26c096d189d (patch) | |
tree | 4345ef92bc5fb30c1e690be9cc2b1b1d8e08a070 | |
parent | b39924cf222e0c2e958a780dfe77ca60592d2afd (diff) | |
download | CMake-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.in | 25 |
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 |