aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt39
-rw-r--r--apps/CMakeLists.txt2
-rw-r--r--include/CMakeLists.txt24
-rw-r--r--include/uhd/CMakeLists.txt33
-rw-r--r--include/uhd/transport/CMakeLists.txt22
-rw-r--r--include/uhd/usrp/CMakeLists.txt25
-rw-r--r--include/uhd/usrp/dboard/CMakeLists.txt25
-rw-r--r--include/uhd/usrp/mboard/CMakeLists.txt24
-rw-r--r--lib/CMakeLists.txt2
-rw-r--r--uhd.pc.in14
10 files changed, 201 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5f16eccbd..4fc1e29f9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,11 +19,36 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(UHD)
ENABLE_TESTING()
INCLUDE(CPack)
+#SET(CMAKE_VERBOSE_MAKEFILE true)
+
+########################################################################
+# Install Dirs
+########################################################################
+SET(RUNTIME_DIR bin)
+SET(LIBRARY_DIR lib)
+SET(RESOURCE_DIR share)
+SET(HEADER_DIR include)
########################################################################
# Local Include Dir
########################################################################
-INCLUDE_DIRECTORIES(${UHD_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
+########################################################################
+# Optional Compiler Flags
+########################################################################
+INCLUDE(CheckCXXCompilerFlag)
+FUNCTION(UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG flag have)
+ CHECK_CXX_COMPILER_FLAG(${flag} ${have})
+ IF(${have})
+ ADD_DEFINITIONS(${flag})
+ ENDIF(${have})
+ENDFUNCTION(UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG)
+
+UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-Wall HAVE_WALL)
+UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-Wextra HAVE_WEXTRA)
+UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-pedantic HAVE_PEDANTIC)
+UHD_ADD_OPTIONAL_CXX_COMPILER_FLAG(-ansi HAVE_ANSI)
########################################################################
# Setup Boost
@@ -40,8 +65,18 @@ INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
########################################################################
+# Create Pkg Config File
+########################################################################
+CONFIGURE_FILE(uhd.pc.in uhd.pc @ONLY)
+INSTALL(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/uhd.pc
+ DESTINATION ${LIBRARY_DIR}/pkgconfig
+)
+
+########################################################################
# Add the subdirectories
########################################################################
+ADD_SUBDIRECTORY(apps)
+ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(lib)
ADD_SUBDIRECTORY(test)
-ADD_SUBDIRECTORY(apps)
diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
index b2943f9f3..f4428f958 100644
--- a/apps/CMakeLists.txt
+++ b/apps/CMakeLists.txt
@@ -18,3 +18,5 @@
ADD_EXECUTABLE(discover_usrps discover_usrps.cpp)
TARGET_LINK_LIBRARIES(discover_usrps uhd)
+
+INSTALL(TARGETS discover_usrps RUNTIME DESTINATION ${RUNTIME_DIR})
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
new file mode 100644
index 000000000..34b705cab
--- /dev/null
+++ b/include/CMakeLists.txt
@@ -0,0 +1,24 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+ADD_SUBDIRECTORY(uhd)
+
+INSTALL(FILES
+ uhd.hpp
+ DESTINATION ${HEADER_DIR}
+)
diff --git a/include/uhd/CMakeLists.txt b/include/uhd/CMakeLists.txt
new file mode 100644
index 000000000..006c54f22
--- /dev/null
+++ b/include/uhd/CMakeLists.txt
@@ -0,0 +1,33 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+ADD_SUBDIRECTORY(transport)
+ADD_SUBDIRECTORY(usrp)
+
+INSTALL(FILES
+ device.hpp
+ device_addr.hpp
+ dict.hpp
+ gain_handler.hpp
+ props.hpp
+ shared_iovec.hpp
+ time_spec.hpp
+ utils.hpp
+ wax.hpp
+ DESTINATION ${HEADER_DIR}/uhd
+)
diff --git a/include/uhd/transport/CMakeLists.txt b/include/uhd/transport/CMakeLists.txt
new file mode 100644
index 000000000..b786eb945
--- /dev/null
+++ b/include/uhd/transport/CMakeLists.txt
@@ -0,0 +1,22 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+INSTALL(FILES
+ udp.hpp
+ DESTINATION ${HEADER_DIR}/uhd/transport
+)
diff --git a/include/uhd/usrp/CMakeLists.txt b/include/uhd/usrp/CMakeLists.txt
new file mode 100644
index 000000000..d3040c3cc
--- /dev/null
+++ b/include/uhd/usrp/CMakeLists.txt
@@ -0,0 +1,25 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+ADD_SUBDIRECTORY(dboard)
+ADD_SUBDIRECTORY(mboard)
+
+INSTALL(FILES
+ usrp.hpp
+ DESTINATION ${HEADER_DIR}/uhd/usrp
+)
diff --git a/include/uhd/usrp/dboard/CMakeLists.txt b/include/uhd/usrp/dboard/CMakeLists.txt
new file mode 100644
index 000000000..e1ecc3b70
--- /dev/null
+++ b/include/uhd/usrp/dboard/CMakeLists.txt
@@ -0,0 +1,25 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+INSTALL(FILES
+ base.hpp
+ id.hpp
+ interface.hpp
+ manager.hpp
+ DESTINATION ${HEADER_DIR}/uhd/usrp/dboard
+)
diff --git a/include/uhd/usrp/mboard/CMakeLists.txt b/include/uhd/usrp/mboard/CMakeLists.txt
new file mode 100644
index 000000000..79aab8677
--- /dev/null
+++ b/include/uhd/usrp/mboard/CMakeLists.txt
@@ -0,0 +1,24 @@
+#
+# Copyright 2010 Ettus Research LLC
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+
+
+INSTALL(FILES
+ base.hpp
+ test.hpp
+ usrp2.hpp
+ DESTINATION ${HEADER_DIR}/uhd/usrp/mboard
+)
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 46e487f7f..6150fd574 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -31,3 +31,5 @@ ADD_LIBRARY(uhd SHARED
TARGET_LINK_LIBRARIES(uhd uhd_usrp)
TARGET_LINK_LIBRARIES(uhd uhd_transport)
TARGET_LINK_LIBRARIES(uhd ${Boost_LIBRARIES})
+
+INSTALL(TARGETS uhd LIBRARY DESTINATION ${LIBRARY_DIR})
diff --git a/uhd.pc.in b/uhd.pc.in
index 39d96f8b0..02b0868aa 100644
--- a/uhd.pc.in
+++ b/uhd.pc.in
@@ -1,11 +1,11 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=@CMAKE_INSTALL_PREFIX@/@LIBRARY_DIR@
+includedir=@CMAKE_INSTALL_PREFIX@/@HEADER_DIR@
-Name: uhd
+Name: @CPACK_PACKAGE_NAME@
Description: Universal Hardware Driver
-Requires:
-Version: @VERSION@
+Requires:
+Version: @CPACK_PACKAGE_VERSION@
Libs: -L${libdir} -luhd
Cflags: -I${includedir}