Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[MANTA] r1187 - trunk/SwigInterface/test


Chronological Thread 
  • 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.

Top of page