summaryrefslogtreecommitdiff
path: root/cmake/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/Modules')
-rw-r--r--cmake/Modules/FindCppUnit.cmake46
-rw-r--r--cmake/Modules/FindGMP.cmake45
-rw-r--r--cmake/Modules/FindGSL.cmake1
-rw-r--r--cmake/Modules/FindMPIR.cmake45
-rw-r--r--cmake/Modules/FindMPLIB.cmake27
-rw-r--r--cmake/Modules/FindUSB.cmake1
-rw-r--r--cmake/Modules/GrBoost.cmake1
-rw-r--r--cmake/Modules/GrTest.cmake23
-rw-r--r--cmake/Modules/GrVersion.cmake6
9 files changed, 144 insertions, 51 deletions
diff --git a/cmake/Modules/FindCppUnit.cmake b/cmake/Modules/FindCppUnit.cmake
deleted file mode 100644
index 4e9469f9f6..0000000000
--- a/cmake/Modules/FindCppUnit.cmake
+++ /dev/null
@@ -1,46 +0,0 @@
-# http://www.cmake.org/pipermail/cmake/2006-October/011446.html
-# Modified to use pkg config and use standard var names
-
-#
-# Find the CppUnit includes and library
-#
-# This module defines
-# CPPUNIT_INCLUDE_DIR, where to find tiff.h, etc.
-# CPPUNIT_LIBRARIES, the libraries to link against to use CppUnit.
-# CPPUNIT_FOUND, If false, do not try to use CppUnit.
-
-INCLUDE(FindPkgConfig)
-PKG_CHECK_MODULES(PC_CPPUNIT "cppunit")
-
-FIND_PATH(CPPUNIT_INCLUDE_DIRS
- NAMES cppunit/TestCase.h
- HINTS ${PC_CPPUNIT_INCLUDE_DIR}
- ${CMAKE_INSTALL_PREFIX}/include
- PATHS
- /usr/local/include
- /usr/include
-)
-
-FIND_LIBRARY(CPPUNIT_LIBRARIES
- NAMES cppunit
- HINTS ${PC_CPPUNIT_LIBDIR}
- ${CMAKE_INSTALL_PREFIX}/lib
- ${CMAKE_INSTALL_PREFIX}/lib64
- PATHS
- ${CPPUNIT_INCLUDE_DIRS}/../lib
- /usr/local/lib
- /usr/lib
-)
-
-LIST(APPEND CPPUNIT_LIBRARIES ${CMAKE_DL_LIBS})
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(CPPUNIT DEFAULT_MSG CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
-MARK_AS_ADVANCED(CPPUNIT_LIBRARIES CPPUNIT_INCLUDE_DIRS)
-
-
-# set version to be useable by calling script
-
-IF(CPPUNIT_FOUND)
- set(CPPUNIT_VERSION ${PC_CPPUNIT_VERSION} CACHE INTERNAL "CppUnit Version" FORCE)
-ENDIF()
diff --git a/cmake/Modules/FindGMP.cmake b/cmake/Modules/FindGMP.cmake
new file mode 100644
index 0000000000..8782334e80
--- /dev/null
+++ b/cmake/Modules/FindGMP.cmake
@@ -0,0 +1,45 @@
+include(FindPkgConfig)
+pkg_check_modules(PC_GMP "gmp")
+
+set(GMP_DEFINITIONS ${PC_GMP_CFLAGS_OTHER})
+
+find_path(
+ GMP_INCLUDE_DIR
+ NAMES gmpxx.h
+ HINTS ${PC_GMP_INCLUDEDIR}
+ PATHS ${CMAKE_INSTALL_PREFIX}/include
+ /usr/local/include
+ /usr/include
+)
+set(GMP_INCLUDE_DIRS ${GMP_INCLUDE_DIR})
+set(GMP_PC_ADD_CFLAGS "-I${GMP_INCLUDE_DIR}")
+
+find_library(
+ GMPXX_LIBRARY
+ NAMES gmpxx
+ HINTS ${PC_GMP_LIBDIR}
+ PATHS ${CMAKE_INSTALL_PREFIX}/lib
+ ${CMAKE_INSTALL_PREFIX}/lib64
+ /usr/local/lib
+ /usr/local/lib64
+ /usr/lib
+ /usr/lib64
+)
+
+find_library(
+ GMP_LIBRARY
+ NAMES gmp
+ HINTS ${PC_GMP_LIBDIR}
+ PATHS ${CMAKE_INSTALL_PREFIX}/lib
+ ${CMAKE_INSTALL_PREFIX}/lib64
+ /usr/local/lib
+ /usr/local/lib64
+ /usr/lib
+ /usr/lib64
+)
+set(GMP_LIBRARIES ${GMPXX_LIBRARY} ${GMP_LIBRARY})
+set(GMP_PC_ADD_LIBS "-lgmpxx -lgmp")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(GMP DEFAULT_MSG GMPXX_LIBRARY GMP_LIBRARY GMP_INCLUDE_DIR)
+mark_as_advanced(GMPXX_LIBRARY GMP_LIBRARY GMP_INCLUDE_DIR)
diff --git a/cmake/Modules/FindGSL.cmake b/cmake/Modules/FindGSL.cmake
index 7b8c6cdb64..d1736d7e2f 100644
--- a/cmake/Modules/FindGSL.cmake
+++ b/cmake/Modules/FindGSL.cmake
@@ -51,6 +51,7 @@ if( WIN32 AND NOT CYGWIN AND NOT MSYS )
endif( GSL_CBLAS_LIBRARY )
set( GSL_LIBRARIES ${GSL_LIBRARY} ${GSL_CBLAS_LIBRARY} )
+ set( GSL_LDFLAGS ${GSL_LIBRARIES} )
endif( GSL_INCLUDE_DIRS )
mark_as_advanced(
diff --git a/cmake/Modules/FindMPIR.cmake b/cmake/Modules/FindMPIR.cmake
new file mode 100644
index 0000000000..647b3815a4
--- /dev/null
+++ b/cmake/Modules/FindMPIR.cmake
@@ -0,0 +1,45 @@
+include(FindPkgConfig)
+pkg_check_modules(PC_MPIR "mpir >= 3.0")
+
+set(MPIR_DEFINITIONS ${PC_MPIR_CFLAGS_OTHER})
+
+find_path(
+ MPIR_INCLUDE_DIR
+ NAMES mpirxx.h
+ HINTS ${PC_MPIR_INCLUDEDIR}
+ PATHS ${CMAKE_INSTALL_PREFIX}/include
+ /usr/local/include
+ /usr/include
+)
+set(MPIR_INCLUDE_DIRS ${MPIR_INCLUDE_DIR})
+set(MPIR_PC_ADD_CFLAGS "-I${MPIR_INCLUDE_DIR}")
+
+find_library(
+ MPIRXX_LIBRARY
+ NAMES mpirxx
+ HINTS ${PC_MPIR_LIBDIR}
+ PATHS ${CMAKE_INSTALL_PREFIX}/lib
+ ${CMAKE_INSTALL_PREFIX}/lib64
+ /usr/local/lib
+ /usr/local/lib64
+ /usr/lib
+ /usr/lib64
+)
+
+find_library(
+ MPIR_LIBRARY
+ NAMES mpir
+ HINTS ${PC_MPIR_LIBDIR}
+ PATHS ${CMAKE_INSTALL_PREFIX}/lib
+ ${CMAKE_INSTALL_PREFIX}/lib64
+ /usr/local/lib
+ /usr/local/lib64
+ /usr/lib
+ /usr/lib64
+)
+set(MPIR_LIBRARIES ${MPIRXX_LIBRARY} ${MPIR_LIBRARY})
+set(MPIR_PC_ADD_LIBS "-lmpirxx -lmpir")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MPIR DEFAULT_MSG MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
+mark_as_advanced(MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
diff --git a/cmake/Modules/FindMPLIB.cmake b/cmake/Modules/FindMPLIB.cmake
new file mode 100644
index 0000000000..2f4ec8c689
--- /dev/null
+++ b/cmake/Modules/FindMPLIB.cmake
@@ -0,0 +1,27 @@
+find_package(GMP)
+find_package(MPIR)
+
+if(GMP_FOUND)
+ set(GR_MPLIB_GMP True)
+ set(MPLIB_DEFINITIONS "-DGR_MPLIB_GMP" ${GMP_DEFINITIONS})
+ set(MPLIB_INCLUDE_DIR ${GMP_INCLUDE_DIR})
+ set(MPLIB_LIBRARY ${GMP_LIBRARY})
+ set(MPLIBXX_LIBRARY ${GMPXX_LIBRARY})
+ set(MPLIB_PC_ADD_CFLAGS ${GMP_PC_ADD_CFLAGS})
+ set(MPLIB_PC_ADD_LIBS ${GMP_PC_ADD_LIBS})
+else(GMP_FOUND)
+ set(GR_MPLIB_MPIR True)
+ set(MPLIB_DEFINITIONS "-DGR_MPLIB_MPIR" ${MPIR_DEFINITIONS})
+ set(MPLIB_INCLUDE_DIR ${MPIR_INCLUDE_DIR})
+ set(MPLIB_LIBRARY ${MPIR_LIBRARY})
+ set(MPLIBXX_LIBRARY ${MPIRXX_LIBRARY})
+ set(MPLIB_PC_ADD_CFLAGS ${MPIR_PC_ADD_CFLAGS})
+ set(MPLIB_PC_ADD_LIBS ${MPIR_PC_ADD_LIBS})
+endif(GMP_FOUND)
+
+set(MPLIB_INCLUDE_DIRS ${MPLIB_INCLUDE_DIR})
+set(MPLIB_LIBRARIES ${MPLIBXX_LIBRARY} ${MPLIB_LIBRARY})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(MPLIB DEFAULT_MSG MPLIBXX_LIBRARY MPLIB_LIBRARY MPLIB_INCLUDE_DIR)
+mark_as_advanced(MPLIBXX_LIBRARY MPLIB_LIBRARY MPLIB_INCLUDE_DIR)
diff --git a/cmake/Modules/FindUSB.cmake b/cmake/Modules/FindUSB.cmake
index b050c420e5..1f5cbc2a7d 100644
--- a/cmake/Modules/FindUSB.cmake
+++ b/cmake/Modules/FindUSB.cmake
@@ -1,4 +1,5 @@
if(NOT LIBUSB_FOUND)
+ include(FindPkgConfig)
pkg_check_modules (LIBUSB_PKG libusb-1.0)
find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h
PATHS
diff --git a/cmake/Modules/GrBoost.cmake b/cmake/Modules/GrBoost.cmake
index 150009a7b9..e074462602 100644
--- a/cmake/Modules/GrBoost.cmake
+++ b/cmake/Modules/GrBoost.cmake
@@ -33,6 +33,7 @@ set(BOOST_REQUIRED_COMPONENTS
system
regex
thread
+ unit_test_framework
)
if(UNIX AND NOT BOOST_ROOT AND EXISTS "/usr/lib64")
diff --git a/cmake/Modules/GrTest.cmake b/cmake/Modules/GrTest.cmake
index 5f90be3326..c12601fcc2 100644
--- a/cmake/Modules/GrTest.cmake
+++ b/cmake/Modules/GrTest.cmake
@@ -141,3 +141,26 @@ function(GR_ADD_TEST test_name)
endif(WIN32)
endfunction(GR_ADD_TEST)
+
+########################################################################
+# Add a C++ unit test and setup the environment for a unit test.
+# Takes the same arguments as the ADD_TEST function.
+#
+# test_name -- An identifier for your test, for usage with ctest -R
+# test_source -- Path to the .cc file
+#
+# Before calling set the following variables:
+# GR_TEST_TARGET_DEPS - built targets for the library path
+########################################################################
+function(GR_ADD_CPP_TEST test_name test_source)
+ add_executable(${test_name} ${test_source})
+ target_link_libraries(
+ ${test_name}
+ ${GR_TEST_TARGET_DEPS}
+ )
+ set_target_properties(${test_name}
+ PROPERTIES COMPILE_DEFINITIONS "BOOST_TEST_DYN_LINK;BOOST_TEST_MAIN"
+ )
+ GR_ADD_TEST(${test_name} ${test_name})
+endfunction(GR_ADD_CPP_TEST)
+
diff --git a/cmake/Modules/GrVersion.cmake b/cmake/Modules/GrVersion.cmake
index 414c34d64f..938d14e60d 100644
--- a/cmake/Modules/GrVersion.cmake
+++ b/cmake/Modules/GrVersion.cmake
@@ -83,11 +83,7 @@ else()
# VERSION: 3.3.1{.x}
# DOCVER: 3.3.1{.x}
# LIBVER: 3.3.1{.x}
- if("${MAINT_VERSION}" STREQUAL "0")
- set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}")
- else()
- set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}.${MAINT_VERSION}")
- endif()
+ set(VERSION "${MAJOR_VERSION}.${API_COMPAT}.${MINOR_VERSION}.${MAINT_VERSION}")
set(DOCVER "${VERSION}")
set(LIBVER "${VERSION}")
set(RC_MINOR_VERSION ${MINOR_VERSION})