annotate Resources/Orthanc/CMake/GoogleTestConfiguration.cmake @ 24:065bc476bcdc

use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 06 Jul 2020 16:23:48 +0200
parents
children b7e32fe4973b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 if (USE_GOOGLE_TEST_DEBIAN_PACKAGE)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 find_path(GOOGLE_TEST_DEBIAN_SOURCES_DIR
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 NAMES src/gtest-all.cc
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 PATHS
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 ${CROSSTOOL_NG_IMAGE}/usr/src/gtest
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 ${CROSSTOOL_NG_IMAGE}/usr/src/googletest/googletest
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 PATH_SUFFIXES src
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 )
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 find_path(GOOGLE_TEST_DEBIAN_INCLUDE_DIR
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 NAMES gtest.h
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 PATHS
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 ${CROSSTOOL_NG_IMAGE}/usr/include/gtest
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 )
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 message("Path to the Debian Google Test sources: ${GOOGLE_TEST_DEBIAN_SOURCES_DIR}")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 message("Path to the Debian Google Test includes: ${GOOGLE_TEST_DEBIAN_INCLUDE_DIR}")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 set(GOOGLE_TEST_SOURCES
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 ${GOOGLE_TEST_DEBIAN_SOURCES_DIR}/src/gtest-all.cc
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 )
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 include_directories(${GOOGLE_TEST_DEBIAN_SOURCES_DIR})
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 if (NOT EXISTS ${GOOGLE_TEST_SOURCES} OR
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26 NOT EXISTS ${GOOGLE_TEST_DEBIAN_INCLUDE_DIR}/gtest.h)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27 message(FATAL_ERROR "Please install the libgtest-dev package")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 endif()
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 elseif (STATIC_BUILD OR NOT USE_SYSTEM_GOOGLE_TEST)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 set(GOOGLE_TEST_SOURCES_DIR ${CMAKE_BINARY_DIR}/googletest-release-1.8.1)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 set(GOOGLE_TEST_URL "http://orthanc.osimis.io/ThirdPartyDownloads/gtest-1.8.1.tar.gz")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 set(GOOGLE_TEST_MD5 "2e6fbeb6a91310a16efe181886c59596")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 DownloadPackage(${GOOGLE_TEST_MD5} ${GOOGLE_TEST_URL} "${GOOGLE_TEST_SOURCES_DIR}")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 include_directories(
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 ${GOOGLE_TEST_SOURCES_DIR}/googletest
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39 ${GOOGLE_TEST_SOURCES_DIR}/googletest/include
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 ${GOOGLE_TEST_SOURCES_DIR}
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 )
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 set(GOOGLE_TEST_SOURCES
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 ${GOOGLE_TEST_SOURCES_DIR}/googletest/src/gtest-all.cc
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 )
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 # https://code.google.com/p/googletest/issues/detail?id=412
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 if (MSVC) # VS2012 does not support tuples correctly yet
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 add_definitions(/D _VARIADIC_MAX=10)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 endif()
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 if ("${CMAKE_SYSTEM_VERSION}" STREQUAL "LinuxStandardBase")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 add_definitions(-DGTEST_HAS_CLONE=0)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 endif()
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 source_group(ThirdParty\\GoogleTest REGULAR_EXPRESSION ${GOOGLE_TEST_SOURCES_DIR}/.*)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 else()
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 include(FindGTest)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 if (NOT GTEST_FOUND)
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 message(FATAL_ERROR "Unable to find GoogleTest")
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 endif()
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 include_directories(${GTEST_INCLUDE_DIRS})
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 # The variable GTEST_LIBRARIES contains the shared library of
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 # Google Test, create an alias for more uniformity
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 set(GOOGLE_TEST_LIBRARIES ${GTEST_LIBRARIES})
065bc476bcdc use of OrthancPluginsExports.cmake, link against system-wide orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 endif()