aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/CMakeLists.txt
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-04-09 08:13:19 -0700
committerJosh Blum <josh@joshknows.com>2010-04-09 08:13:19 -0700
commitfdd80e548dcda3e4ee0c022d7d04b5ba581c5ad9 (patch)
tree9dea0715b05b08d2b2a1080a2a00aee5fefd2e8a /host/lib/CMakeLists.txt
parentd743784919b362d93e6408f05bdef6e543e3fc7e (diff)
downloaduhd-fdd80e548dcda3e4ee0c022d7d04b5ba581c5ad9.tar.gz
uhd-fdd80e548dcda3e4ee0c022d7d04b5ba581c5ad9.tar.bz2
uhd-fdd80e548dcda3e4ee0c022d7d04b5ba581c5ad9.zip
added python+cheetah build requirement, generating vrt.cpp
Diffstat (limited to 'host/lib/CMakeLists.txt')
-rw-r--r--host/lib/CMakeLists.txt46
1 files changed, 45 insertions, 1 deletions
diff --git a/host/lib/CMakeLists.txt b/host/lib/CMakeLists.txt
index f21a4a491..87e35f412 100644
--- a/host/lib/CMakeLists.txt
+++ b/host/lib/CMakeLists.txt
@@ -15,6 +15,33 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
+
+########################################################################
+# Setup Python
+########################################################################
+INCLUDE(FindPythonInterp)
+
+MACRO(PYTHON_CHECK_MODULE module have)
+ MESSAGE(STATUS "Checking for python module ${module}")
+ EXECUTE_PROCESS(
+ COMMAND ${PYTHON_EXECUTABLE} -c "import ${module}"
+ RESULT_VARIABLE ${have}
+ )
+ IF(${have} EQUAL 0)
+ MESSAGE(STATUS "Checking for python module ${module} - found")
+ SET(${have} TRUE)
+ ELSE(${have} EQUAL 0)
+ MESSAGE(STATUS "Checking for python module ${module} - not found")
+ SET(${have} FALSE)
+ ENDIF(${have} EQUAL 0)
+ENDMACRO(PYTHON_CHECK_MODULE)
+
+PYTHON_CHECK_MODULE("Cheetah" HAVE_PYTHON_MODULE_CHEETAH)
+
+IF(NOT HAVE_PYTHON_MODULE_CHEETAH)
+ MESSAGE(FATAL_ERROR "Error: Cheetah Templates needed for pre-build generation.")
+ENDIF(NOT HAVE_PYTHON_MODULE_CHEETAH)
+
########################################################################
# Create a list of libuhd sources
########################################################################
@@ -26,7 +53,6 @@ SET(libuhd_sources
wax.cpp
transport/if_addrs.cpp
transport/udp_simple.cpp
- transport/vrt.cpp
usrp/dboard/db_basic_and_lf.cpp
usrp/dboard/db_rfx.cpp
usrp/dboard_base.cpp
@@ -42,6 +68,24 @@ SET(libuhd_sources
)
########################################################################
+# Generate Files
+########################################################################
+MACRO(UHD_PYTHON_GEN_FILE pyfile outfile)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${outfile} DEPENDS ${pyfile}
+ COMMAND ${PYTHON_EXECUTABLE} ${pyfile} ${outfile}
+ COMMENT "Calling ${pyfile} to generate ${outfile}"
+ )
+ENDMACRO(UHD_PYTHON_GEN_FILE)
+UHD_PYTHON_GEN_FILE(
+ ${CMAKE_CURRENT_SOURCE_DIR}/transport/gen_vrt.py
+ ${CMAKE_CURRENT_BINARY_DIR}/transport/vrt.cpp
+)
+LIST(APPEND libuhd_sources
+ ${CMAKE_CURRENT_BINARY_DIR}/transport/vrt.cpp
+)
+
+########################################################################
# Conditionally add the udp sources
########################################################################
LIST(APPEND libuhd_sources