From bb98061115a2c7299fb24ed90ba48786118bf32e Mon Sep 17 00:00:00 2001
From: Josh Blum
Date: Wed, 21 Sep 2011 23:38:38 -0700
Subject: trellis: performed generation re-work on gr-trellis lib

---
 gnuradio-core/src/lib/filter/CMakeLists.txt |  7 ++++---
 gnuradio-core/src/lib/gengen/CMakeLists.txt | 30 +++++++++++++++++------------
 2 files changed, 22 insertions(+), 15 deletions(-)

(limited to 'gnuradio-core')

diff --git a/gnuradio-core/src/lib/filter/CMakeLists.txt b/gnuradio-core/src/lib/filter/CMakeLists.txt
index a82886d7e..1ff7e8065 100644
--- a/gnuradio-core/src/lib/filter/CMakeLists.txt
+++ b/gnuradio-core/src/lib/filter/CMakeLists.txt
@@ -50,7 +50,7 @@ ENDIF()
 #   - This way the targets would depend only on their sources.
 ########################################################################
 EXECUTE_PROCESS(
-    COMMAND ${PYTHON_EXECUTABLE} -c "
+    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -c "
 import os, sys
 sys.path.append('${GR_CORE_PYTHONPATH}')
 sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}')
@@ -114,10 +114,11 @@ ADD_CUSTOM_COMMAND(
         ${generated_filter_includes}
         ${generated_filter_swigs}
     DEPENDS ${generated_filter_deps}
-    COMMAND ${PYTHON_EXECUTABLE} -B -c
-    \"import os, sys\;sys.path.append('${GR_CORE_PYTHONPATH}')\;sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}')\;os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}'\;from generate_all import generate_all\;generate_all()\"
+    COMMAND ${PYTHON_EXECUTABLE} ${PYTHON_DASH_B} -c
+    "import os, sys;sys.path.append('${GR_CORE_PYTHONPATH}');sys.path.append('${CMAKE_CURRENT_SOURCE_DIR}');os.environ['srcdir'] = '${CMAKE_CURRENT_SOURCE_DIR}';from generate_all import generate_all;generate_all()"
     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     COMMENT "generating filter files"
+    VERBATIM
 )
 
 ADD_CUSTOM_TARGET(filter_generated DEPENDS
diff --git a/gnuradio-core/src/lib/gengen/CMakeLists.txt b/gnuradio-core/src/lib/gengen/CMakeLists.txt
index ca390656c..a223d291f 100644
--- a/gnuradio-core/src/lib/gengen/CMakeLists.txt
+++ b/gnuradio-core/src/lib/gengen/CMakeLists.txt
@@ -34,11 +34,11 @@ os.chdir('${CMAKE_CURRENT_BINARY_DIR}')
 
 if __name__ == '__main__':
     import build_utils
-    root, out = sys.argv[1:3]
+    root, inp = sys.argv[1:3]
     for sig in sys.argv[3:]:
         name = re.sub ('X+', sig, root)
         d = build_utils.standard_dict(name, sig)
-        build_utils.expand_template(d, out)
+        build_utils.expand_template(d, inp)
 
 ")
 
@@ -47,7 +47,7 @@ if __name__ == '__main__':
 ########################################################################
 MACRO(expand_h_cc_i root)
 
-    FOREACH(ext cc h i)
+    FOREACH(ext h cc i)
         #make a list of all the generated files
         UNSET(expanded_files_${ext})
         FOREACH(sig ${ARGN})
@@ -65,7 +65,12 @@ MACRO(expand_h_cc_i root)
         )
     ENDFOREACH(ext)
 
-    # install rules for the generated cc, h, and i files
+    #make source files depends on headers to force generation
+    SET_SOURCE_FILES_PROPERTIES(${expanded_files_cc}
+        PROPERTIES OBJECT_DEPENDS "${expanded_files_h}"
+    )
+
+    #install rules for the generated cc, h, and i files
     LIST(APPEND generated_gengen_sources ${expanded_files_cc})
     LIST(APPEND generated_gengen_includes ${expanded_files_h})
     LIST(APPEND generated_gengen_swigs ${expanded_files_i})
@@ -105,8 +110,7 @@ expand_h_cc_i(gr_argmax_XX                    fs is ss)
 expand_h_cc_i(gr_max_XX                       ff ii ss)
 expand_h_cc_i(gr_peak_detector_XX             fb ib sb)
 
-ADD_CUSTOM_TARGET(gengen_generated ALL DEPENDS
-    ${generated_gengen_sources}
+ADD_CUSTOM_TARGET(gengen_generated DEPENDS
     ${generated_gengen_includes}
     ${generated_gengen_swigs}
 )
@@ -114,20 +118,22 @@ ADD_CUSTOM_TARGET(gengen_generated ALL DEPENDS
 ########################################################################
 # Create the master gengen swig include files
 ########################################################################
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i
-    "// This file is machine generated.  All edits will be overwritten\n"
-)
+FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "
+//
+// This file is machine generated.  All edits will be overwritten
+//
+")
 
 FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "%{\n")
 FOREACH(swig_file ${generated_gengen_swigs})
-    GET_FILENAME_COMPONENT(name ${swig_file} NAME)
-    FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "    #include<${name}.h>\n")
+    GET_FILENAME_COMPONENT(name ${swig_file} NAME_WE)
+    FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "#include<${name}.h>\n")
 ENDFOREACH(swig_file)
 FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "%}\n")
 
 FOREACH(swig_file ${generated_gengen_swigs})
     GET_FILENAME_COMPONENT(name ${swig_file} NAME)
-    FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "%include<${name}.h>\n")
+    FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gengen_generated.i "%include<${name}>\n")
 ENDFOREACH(swig_file)
 
 ########################################################################
-- 
cgit