annotate OrthancFramework/UnitTestsSources/CMakeLists.txt @ 4117:9286649df279

use of C++11 in the unit tests of the shared library
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 07 Jul 2020 14:23:23 +0200
parents 99e2054d1e8d
children 304842a0d152
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 ##
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 ## This file is meant to be used only by ../SharedLibrary/CMakeLists.txt
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 ##
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 cmake_minimum_required(VERSION 2.8)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 project(UnitTestsProject)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7
4094
1c89208fbba9 fix build of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
8 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
1c89208fbba9 fix build of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
9 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
1c89208fbba9 fix build of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
10 set(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests")
1c89208fbba9 fix build of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
11 set(USE_GOOGLE_TEST_DEBIAN_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)")
4117
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
12 set(USE_CXX11 OFF CACHE BOOL "Whether to enable compiler support for C++11")
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 if (UNIT_TESTS_WITH_HTTP_CONNEXIONS)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=1)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 else()
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 add_definitions(-DUNIT_TESTS_WITH_HTTP_CONNEXIONS=0)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 endif()
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20 if (NOT ORTHANC_FRAMEWORK_STATIC)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 set(ENABLE_DCMTK ON)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 set(ENABLE_LUA ON)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 set(ENABLE_PUGIXML ON)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 set(ENABLE_SQLITE ON)
4097
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4094
diff changeset
25
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4094
diff changeset
26 set(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test")
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4094
diff changeset
27 else()
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4094
diff changeset
28 set(USE_SYSTEM_GOOGLE_TEST OFF CACHE INTERNAL "")
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29 endif()
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 set(ENABLE_GOOGLE_TEST ON)
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32 include(${CMAKE_SOURCE_DIR}/../Resources/CMake/DownloadOrthancFramework.cmake)
4094
1c89208fbba9 fix build of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4063
diff changeset
33 include(${CMAKE_SOURCE_DIR}/../Resources/CMake/GoogleTestConfiguration.cmake)
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34
4117
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
35 if (USE_CXX11)
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
36 if (CMAKE_COMPILER_IS_GNUCXX)
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
37 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
38 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
39 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
40 endif()
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
41 endif()
9286649df279 use of C++11 in the unit tests of the shared library
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4097
diff changeset
42
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43 add_definitions(
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 -DORTHANC_UNIT_TESTS_LINK_FRAMEWORK=1
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 -DORTHANC_BUILD_UNIT_TESTS=1 # For "HierarchicalZipWriter" tests
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 )
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 add_executable(UnitTests
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49 ${CMAKE_SOURCE_DIR}/SharedLibraryUnitTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 ${CMAKE_SOURCE_DIR}/DicomMapTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 ${CMAKE_SOURCE_DIR}/FileStorageTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 ${CMAKE_SOURCE_DIR}/FrameworkTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 ${CMAKE_SOURCE_DIR}/FromDcmtkTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 ${CMAKE_SOURCE_DIR}/ImageProcessingTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56 ${CMAKE_SOURCE_DIR}/ImageTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57 ${CMAKE_SOURCE_DIR}/JobsTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 ${CMAKE_SOURCE_DIR}/JpegLosslessTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59 ${CMAKE_SOURCE_DIR}/LoggingTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 ${CMAKE_SOURCE_DIR}/LuaTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 ${CMAKE_SOURCE_DIR}/MemoryCacheTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 ${CMAKE_SOURCE_DIR}/RestApiTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 ${CMAKE_SOURCE_DIR}/SQLiteChromiumTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 ${CMAKE_SOURCE_DIR}/SQLiteTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 ${CMAKE_SOURCE_DIR}/StreamTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 ${CMAKE_SOURCE_DIR}/ToolboxTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
67 ${CMAKE_SOURCE_DIR}/ZipTests.cpp
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 ${AUTOGENERATED_SOURCES}
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 ${GOOGLE_TEST_SOURCES}
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 )
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72
4097
99e2054d1e8d fix unit tests for orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 4094
diff changeset
73 target_link_libraries(UnitTests ${ORTHANC_FRAMEWORK_LIBRARIES})
4063
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 install(TARGETS UnitTests
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
76 DESTINATION ${ORTHANC_FRAMEWORK_LIBDIR}
e00f3d089991 shared library of orthanc framework
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
77 )