Text archives Help
- From: bigler@sci.utah.edu
- To: manta@sci.utah.edu
- Subject: [MANTA] r1187 - trunk/SwigInterface/test
- Date: Tue, 22 Aug 2006 14:36:39 -0600 (MDT)
Author: bigler
Date: Tue Aug 22 14:36:39 2006
New Revision: 1187
Added:
trunk/SwigInterface/test/make2makevar.py
Modified:
trunk/SwigInterface/test/MantaUseSWIG.cmake
trunk/SwigInterface/test/depend.mk
Log:
test/MantaUseSWIG.cmake
Support for the multiple output files of CMake 2.4. Shouldn't break
anything for <= 2.2.
test/depend.mk
Make system that more tries to mirror what I want to do with CMake.
This adds some additional targets for building dependency files and
translating them.
test/make2makevar.py
Translate a makefile dependency to a makefile variable.
Modified: trunk/SwigInterface/test/MantaUseSWIG.cmake
==============================================================================
--- trunk/SwigInterface/test/MantaUseSWIG.cmake (original)
+++ trunk/SwigInterface/test/MantaUseSWIG.cmake Tue Aug 22 14:36:39 2006
@@ -106,7 +106,7 @@
# file has disappeared or moved.
MACRO(MANTA_INCLUDE_SWIG_DEPENDENCIES dependency_file)
- MESSAGE("MANTA_INCLUDE_SWIG_DEPENDENCIES, ${dependency_file}")
+# MESSAGE("MANTA_INCLUDE_SWIG_DEPENDENCIES, ${dependency_file}")
SET(MANTA_SWIG_DEPEND)
SET(MANTA_SWIG_DEPEND_REGENERATE)
@@ -115,7 +115,7 @@
IF(${CMAKE_MAKE_PROGRAM} MATCHES "make")
IF(EXISTS ${dependency_file})
ELSE(EXISTS ${dependency_file})
- MESSAGE("GENERATING stub dependency file")
+# MESSAGE("GENERATING stub dependency file")
CONFIGURE_FILE(
${CMAKE_SOURCE_DIR}/empty.depend.in
${dependency_file} IMMEDIATE)
@@ -243,32 +243,44 @@
MANTA_INCLUDE_SWIG_DEPENDENCIES(${cmake_dependency_file})
SET(swig_generated_dependency_file
"${swig_generated_file_fullname}.swig-depend")
+
+
+ # CMake 2.4 introduced multiple output targets
+ IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.2)
+ SET( OUTPUT_FILES "${swig_generated_file_fullname}"
+ ${swig_generated_dependency_file}
+ ${cmake_dependency_file}
+ )
+ ELSE("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.2)
+ SET( OUTPUT_FILES "${swig_generated_file_fullname}" )
+ ENDIF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.2)
+
MESSAGE("MANTA_SWIG_DEPEND =" ${MANTA_SWIG_DEPEND})
# If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir
IF(CMAKE_SWIG_OUTDIR)
- ADD_CUSTOM_COMMAND(
- OUTPUT "${swig_generated_file_fullname}"
- COMMAND "${SWIG_EXECUTABLE}"
- ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
- -MD -MF "${swig_generated_dependency_file}"
- ${swig_source_file_flags}
- ${CMAKE_SWIG_FLAGS}
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${OUTPUT_FILES}
+ COMMAND "${SWIG_EXECUTABLE}"
+ ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
+ -MD -MF "${swig_generated_dependency_file}"
+ ${swig_source_file_flags}
+ ${CMAKE_SWIG_FLAGS}
-outdir ${CMAKE_SWIG_OUTDIR}
- ${swig_special_flags}
- ${swig_extra_flags}
- ${swig_include_dirs}
- -o "${swig_generated_file_fullname}"
- "${swig_source_file_fullname}"
- COMMAND "${PYTHONINTERP}"
- ARGS "${CMAKE_CURRENT_SOURCE_DIR}/make2cmake.py"
${swig_generated_dependency_file} ${cmake_dependency_file}
- MAIN_DEPENDENCY "${swig_source_file_fullname}"
- DEPENDS ${MANTA_SWIG_DEPEND}
- COMMENT "Swig source")
+ ${swig_special_flags}
+ ${swig_extra_flags}
+ ${swig_include_dirs}
+ -o "${swig_generated_file_fullname}"
+ "${swig_source_file_fullname}"
+ COMMAND "${PYTHONINTERP}"
+ ARGS "${CMAKE_CURRENT_SOURCE_DIR}/make2cmake.py"
${swig_generated_dependency_file} ${cmake_dependency_file}
+ MAIN_DEPENDENCY "${swig_source_file_fullname}"
+ DEPENDS ${MANTA_SWIG_DEPEND}
+ COMMENT "Swig source (${swig_generated_file_fullname})")
ELSE(CMAKE_SWIG_OUTDIR)
ADD_CUSTOM_COMMAND(
- OUTPUT "${swig_generated_file_fullname}"
+ OUTPUT ${OUTPUT_FILES}
COMMAND "${SWIG_EXECUTABLE}"
ARGS "-${SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG}"
-MD -MF "${swig_generated_dependency_file}"
@@ -284,7 +296,7 @@
ARGS "${CMAKE_CURRENT_SOURCE_DIR}/make2cmake.py"
${swig_generated_dependency_file} ${cmake_dependency_file}
MAIN_DEPENDENCY "${swig_source_file_fullname}"
DEPENDS ${MANTA_SWIG_DEPEND}
- COMMENT "Swig source")
+ COMMENT "Swig source (${swig_generated_file_fullname})")
ENDIF(CMAKE_SWIG_OUTDIR)
SET_SOURCE_FILES_PROPERTIES("${swig_generated_file_fullname}"
PROPERTIES GENERATED 1)
Modified: trunk/SwigInterface/test/depend.mk
==============================================================================
--- trunk/SwigInterface/test/depend.mk (original)
+++ trunk/SwigInterface/test/depend.mk Tue Aug 22 14:36:39 2006
@@ -2,14 +2,18 @@
default: child.o
-child-copy.d:
- touch child-copy.d
+-include child-copy.d
-include child-copy.d
+DEPENDS = $(CXXPATH)/child.cc $(MANTA_SWIG_DEPEND)
-child.o: $(CXXPATH)/child.cc
- g++ -c $< -o $@ -MD
- cp child.d child-copy.d
+child.d: $(DEPENDS)
+ g++ -c $< -o $@ -M
+
+child.o: $(DEPENDS)
+ g++ -c $< -o $@
+
+child-copy.d: child.d
+ python $(CXXPATH)/make2makevar.py child.d child-copy.d
clean:
rm -f child.o child.d child-copy.d
Added: trunk/SwigInterface/test/make2makevar.py
==============================================================================
--- (empty file)
+++ trunk/SwigInterface/test/make2makevar.py Tue Aug 22 14:36:39 2006
@@ -0,0 +1,30 @@
+#!/usr/bin/python
+
+import os,sys,string
+
+
+if __name__ == "__main__":
+ # Check the argument list size
+ if (len(sys.argv) < 3):
+ sys.stderr.write("USAGE: " + sys.argv[0] + " <input file> <output
file>\n")
+ sys.exit(1)
+
+ infilename = sys.argv[1]
+ outfilename = sys.argv[2]
+
+ # U is the mode to open the file with universal newline support.
+ infile = open(infilename, "rU")
+ outfile = open(outfilename, "w")
+
+ # Now read the lines
+ lines = map( lambda x: string.strip(x, string.whitespace+"\\"),
+ infile.readlines() )
+ infile.close()
+
+ # Now write them
+ outfile.write("MANTA_SWIG_DEPEND = \\\n")
+ for l in lines[1:]:
+ outfile.write(l + " \\\n")
+ outfile.write("\n")
+ outfile.close()
+
- [MANTA] r1187 - trunk/SwigInterface/test, bigler, 08/22/2006
Archive powered by MHonArc 2.6.16.