summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt192
1 files changed, 96 insertions, 96 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ddd51f8d76..a74ff4c902 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,115 +18,115 @@
# Boston, MA 02110-1301, USA.
########################################################################
-IF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
- MESSAGE(FATAL_ERROR "Prevented in-tree built. This is bad practice.")
-ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
+ message(FATAL_ERROR "Prevented in-tree built. This is bad practice.")
+endif(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
########################################################################
# Project setup
########################################################################
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(gnuradio CXX C)
-ENABLE_TESTING()
+cmake_minimum_required(VERSION 2.6)
+project(gnuradio CXX C)
+enable_testing()
#select the release build type by default to get optimization flags
-IF(NOT CMAKE_BUILD_TYPE)
- SET(CMAKE_BUILD_TYPE "Release")
- MESSAGE(STATUS "Build type not specified: defaulting to release.")
-ENDIF(NOT CMAKE_BUILD_TYPE)
-SET(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
+if(NOT CMAKE_BUILD_TYPE)
+ set(CMAKE_BUILD_TYPE "Release")
+ message(STATUS "Build type not specified: defaulting to release.")
+endif(NOT CMAKE_BUILD_TYPE)
+set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
-LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
-INCLUDE(GrVersion) #setup version info
+include(GrVersion) #setup version info
########################################################################
# Import executables from a native build (for cross compiling)
# http://www.vtk.org/Wiki/CMake_Cross_Compiling#Using_executables_in_the_build_created_during_the_build
########################################################################
-IF(IMPORT_EXECUTABLES)
- INCLUDE(${IMPORT_EXECUTABLES})
-ENDIF(IMPORT_EXECUTABLES)
+if(IMPORT_EXECUTABLES)
+ include(${IMPORT_EXECUTABLES})
+endif(IMPORT_EXECUTABLES)
#set file that the native build will fill with exports
-SET(EXPORT_FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake)
-FILE(WRITE ${EXPORT_FILE}) #blank the file (subdirs will append)
+set(EXPORT_FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake)
+file(WRITE ${EXPORT_FILE}) #blank the file (subdirs will append)
########################################################################
# Compiler specific setup
########################################################################
-IF(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
+if(CMAKE_COMPILER_IS_GNUCXX AND NOT WIN32)
#http://gcc.gnu.org/wiki/Visibility
- ADD_DEFINITIONS(-fvisibility=hidden)
-ENDIF()
-
-IF(CMAKE_COMPILER_IS_GNUCXX)
- ADD_DEFINITIONS(-Wsign-compare)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-
-IF(MSVC)
- INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/cmake/msvc) #missing headers
- ADD_DEFINITIONS(-D_WIN32_WINNT=0x0501) #minimum version required is windows xp
- ADD_DEFINITIONS(-DNOMINMAX) #disables stupidity and enables std::min and std::max
- ADD_DEFINITIONS( #stop all kinds of compatibility warnings
+ add_definitions(-fvisibility=hidden)
+endif()
+
+if(CMAKE_COMPILER_IS_GNUCXX)
+ add_definitions(-Wsign-compare)
+endif(CMAKE_COMPILER_IS_GNUCXX)
+
+if(MSVC)
+ include_directories(${CMAKE_SOURCE_DIR}/cmake/msvc) #missing headers
+ add_definitions(-D_WIN32_WINNT=0x0501) #minimum version required is windows xp
+ add_definitions(-DNOMINMAX) #disables stupidity and enables std::min and std::max
+ add_definitions( #stop all kinds of compatibility warnings
-D_SCL_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_DEPRECATE
-D_CRT_NONSTDC_NO_DEPRECATE
)
- ADD_DEFINITIONS(-DHAVE_CONFIG_H)
- ADD_DEFINITIONS(/MP) #build with multiple processors
-ENDIF(MSVC)
+ add_definitions(-DHAVE_CONFIG_H)
+ add_definitions(/MP) #build with multiple processors
+endif(MSVC)
########################################################################
# Install directories
########################################################################
-INCLUDE(GrPlatform) #define LIB_SUFFIX
-SET(GR_RUNTIME_DIR bin)
-SET(GR_LIBRARY_DIR lib${LIB_SUFFIX})
-SET(GR_INCLUDE_DIR include)
-SET(GR_DATA_DIR share)
-SET(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
-SET(GR_DOC_DIR ${GR_DATA_DIR}/doc)
-SET(GR_PKG_DOC_DIR ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME}-${LIBVER})
-SET(GR_CONF_DIR etc)
-SET(GR_PKG_CONF_DIR ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME})
-SET(GR_LIBEXEC_DIR libexec)
-SET(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
-SET(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks)
+include(GrPlatform) #define LIB_SUFFIX
+set(GR_RUNTIME_DIR bin)
+set(GR_LIBRARY_DIR lib${LIB_SUFFIX})
+set(GR_INCLUDE_DIR include)
+set(GR_DATA_DIR share)
+set(GR_PKG_DATA_DIR ${GR_DATA_DIR}/${CMAKE_PROJECT_NAME})
+set(GR_DOC_DIR ${GR_DATA_DIR}/doc)
+set(GR_PKG_DOC_DIR ${GR_DOC_DIR}/${CMAKE_PROJECT_NAME}-${LIBVER})
+set(GR_CONF_DIR etc)
+set(GR_PKG_CONF_DIR ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME})
+set(GR_LIBEXEC_DIR libexec)
+set(GR_PKG_LIBEXEC_DIR ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
+set(GRC_BLOCKS_DIR ${GR_PKG_DATA_DIR}/grc/blocks)
########################################################################
# Variables replaced when configuring the package config files
########################################################################
-FILE(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}" prefix)
-FILE(TO_NATIVE_PATH "\${prefix}" exec_prefix)
-FILE(TO_NATIVE_PATH "\${exec_prefix}/${GR_LIBRARY_DIR}" libdir)
-FILE(TO_NATIVE_PATH "\${prefix}/${GR_INCLUDE_DIR}" includedir)
+file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}" prefix)
+file(TO_NATIVE_PATH "\${prefix}" exec_prefix)
+file(TO_NATIVE_PATH "\${exec_prefix}/${GR_LIBRARY_DIR}" libdir)
+file(TO_NATIVE_PATH "\${prefix}/${GR_INCLUDE_DIR}" includedir)
########################################################################
# Create uninstall target
########################################################################
-CONFIGURE_FILE(
+configure_file(
${CMAKE_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
@ONLY)
-ADD_CUSTOM_TARGET(uninstall
+add_custom_target(uninstall
${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake
)
########################################################################
# Enable python component
########################################################################
-FIND_PACKAGE(PythonLibs)
-FIND_PACKAGE(SWIG)
-INCLUDE(GrComponent)
+find_package(PythonLibs)
+find_package(SWIG)
+include(GrComponent)
GR_REGISTER_COMPONENT("python-support" ENABLE_PYTHON
PYTHONLIBS_FOUND
SWIG_FOUND
)
-FIND_PACKAGE(CppUnit)
+find_package(CppUnit)
GR_REGISTER_COMPONENT("testing-support" ENABLE_TESTING
CPPUNIT_FOUND
)
@@ -134,38 +134,38 @@ GR_REGISTER_COMPONENT("testing-support" ENABLE_TESTING
########################################################################
# Add optional dlls specified in DLL_PATHS
########################################################################
-FOREACH(path ${DLL_PATHS})
- FILE(GLOB _dlls "${path}/*.dll")
- LIST(APPEND ALL_DLL_FILES ${_dlls})
-ENDFOREACH(path)
-IF(DEFINED ALL_DLL_FILES)
- INCLUDE(GrPackage)
+foreach(path ${DLL_PATHS})
+ file(GLOB _dlls "${path}/*.dll")
+ list(APPEND ALL_DLL_FILES ${_dlls})
+endforeach(path)
+if(DEFINED ALL_DLL_FILES)
+ include(GrPackage)
CPACK_COMPONENT("extra_dlls"
DISPLAY_NAME "Extra DLLs"
DESCRIPTION "Extra DLLs for runtime dependency requirements"
)
- MESSAGE(STATUS "")
- MESSAGE(STATUS "Including the following dlls into the install:")
- FOREACH(_dll ${ALL_DLL_FILES})
- MESSAGE(STATUS " ${_dll}")
- ENDFOREACH(_dll)
- INSTALL(FILES ${ALL_DLL_FILES} DESTINATION ${GR_RUNTIME_DIR} COMPONENT "extra_dlls")
-ENDIF()
+ message(STATUS "")
+ message(STATUS "Including the following dlls into the install:")
+ foreach(_dll ${ALL_DLL_FILES})
+ message(STATUS " ${_dll}")
+ endforeach(_dll)
+ install(FILES ${ALL_DLL_FILES} DESTINATION ${GR_RUNTIME_DIR} COMPONENT "extra_dlls")
+endif()
########################################################################
# Setup volk as a subproject
########################################################################
-INCLUDE(GrComponent)
+include(GrComponent)
GR_REGISTER_COMPONENT("volk" ENABLE_VOLK)
-SET(VOLK_INCLUDE_DIRS
+set(VOLK_INCLUDE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/volk/include
${CMAKE_CURRENT_BINARY_DIR}/volk/include
)
-IF(ENABLE_VOLK)
+if(ENABLE_VOLK)
-INCLUDE(GrPackage)
+include(GrPackage)
CPACK_SET(CPACK_COMPONENT_GROUP_VOLK_DESCRIPTION "Vector optimized library of kernels")
CPACK_COMPONENT("volk_runtime"
@@ -181,37 +181,37 @@ CPACK_COMPONENT("volk_devel"
)
-ADD_SUBDIRECTORY(volk)
-ENDIF(ENABLE_VOLK)
+add_subdirectory(volk)
+endif(ENABLE_VOLK)
########################################################################
# Add subdirectories
########################################################################
-ADD_SUBDIRECTORY(gruel)
-ADD_SUBDIRECTORY(gnuradio-core)
-ADD_SUBDIRECTORY(grc)
-ADD_SUBDIRECTORY(docs)
-
-ADD_SUBDIRECTORY(gr-atsc)
-ADD_SUBDIRECTORY(gr-audio)
-ADD_SUBDIRECTORY(gr-comedi)
-ADD_SUBDIRECTORY(gr-digital)
-ADD_SUBDIRECTORY(gr-noaa)
-ADD_SUBDIRECTORY(gr-pager)
-ADD_SUBDIRECTORY(gr-qtgui)
-ADD_SUBDIRECTORY(gr-trellis)
-ADD_SUBDIRECTORY(gr-uhd)
-ADD_SUBDIRECTORY(gr-video-sdl)
-ADD_SUBDIRECTORY(gr-vocoder)
-ADD_SUBDIRECTORY(gr-wxgui)
+add_subdirectory(gruel)
+add_subdirectory(gnuradio-core)
+add_subdirectory(grc)
+add_subdirectory(docs)
+
+add_subdirectory(gr-atsc)
+add_subdirectory(gr-audio)
+add_subdirectory(gr-comedi)
+add_subdirectory(gr-digital)
+add_subdirectory(gr-noaa)
+add_subdirectory(gr-pager)
+add_subdirectory(gr-qtgui)
+add_subdirectory(gr-trellis)
+add_subdirectory(gr-uhd)
+add_subdirectory(gr-video-sdl)
+add_subdirectory(gr-vocoder)
+add_subdirectory(gr-wxgui)
#finalize cpack after subdirs processed
-INCLUDE(GrPackage)
+include(GrPackage)
CPACK_FINALIZE()
########################################################################
# Print summary
########################################################################
GR_PRINT_COMPONENT_SUMMARY()
-MESSAGE(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}")
-MESSAGE(STATUS "Building for version: ${VERSION}")
+message(STATUS "Using install prefix: ${CMAKE_INSTALL_PREFIX}")
+message(STATUS "Building for version: ${VERSION}")