# HG changeset patch # User Sebastien Jodogne # Date 1504882113 -7200 # Node ID e6af2c5cd0f1eb63272703cb341aa316d9357421 # Parent 06536b4f30c073f2b6fe6b03fcfb5f1aa2d6591b migration of Google Test into OrthancFramework diff -r 06536b4f30c0 -r e6af2c5cd0f1 CMakeLists.txt --- a/CMakeLists.txt Fri Sep 08 16:34:47 2017 +0200 +++ b/CMakeLists.txt Fri Sep 08 16:48:33 2017 +0200 @@ -11,6 +11,9 @@ # Enable all the optional components of the Orthanc framework set(ENABLE_CRYPTO_OPTIONS ON) +set(ENABLE_DCMTK ON) +set(ENABLE_DCMTK_NETWORKING ON) +set(ENABLE_GOOGLE_TEST ON) set(ENABLE_JPEG ON) set(ENABLE_LOCALE ON) set(ENABLE_LUA ON) @@ -19,8 +22,7 @@ set(ENABLE_SQLITE ON) set(ENABLE_WEB_CLIENT ON) set(ENABLE_WEB_SERVER ON) -set(ENABLE_DCMTK ON) -set(ENABLE_DCMTK_NETWORKING ON) + set(HAS_EMBEDDED_RESOURCES ON) @@ -36,12 +38,6 @@ SET(ENABLE_PLUGINS ON CACHE BOOL "Enable plugins") SET(UNIT_TESTS_WITH_HTTP_CONNEXIONS ON CACHE BOOL "Allow unit tests to make HTTP requests") -# Advanced parameters to fine-tune linking against system libraries -SET(USE_GOOGLE_TEST_DEBIAN_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") -SET(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") - -mark_as_advanced(USE_GOOGLE_TEST_DEBIAN_PACKAGE) - ##################################################################### ## Configuration of the Orthanc framework @@ -49,7 +45,6 @@ include(${CMAKE_SOURCE_DIR}/Resources/CMake/VisualStudioPrecompiledHeaders.cmake) include(${CMAKE_SOURCE_DIR}/Resources/CMake/OrthancFrameworkConfiguration.cmake) -include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake) include_directories(${ORTHANC_ROOT}) @@ -319,8 +314,12 @@ ${ORTHANC_UNIT_TESTS_SOURCES} ) -target_link_libraries(UnitTests ServerLibrary CoreLibrary ${DCMTK_LIBRARIES}) - +target_link_libraries(UnitTests + ServerLibrary + CoreLibrary + ${DCMTK_LIBRARIES} + ${GOOGLE_TEST_LIBRARIES} + ) ##################################################################### diff -r 06536b4f30c0 -r e6af2c5cd0f1 Resources/CMake/GoogleTestConfiguration.cmake --- a/Resources/CMake/GoogleTestConfiguration.cmake Fri Sep 08 16:34:47 2017 +0200 +++ b/Resources/CMake/GoogleTestConfiguration.cmake Fri Sep 08 16:48:33 2017 +0200 @@ -16,7 +16,10 @@ message("Path to the Debian Google Test sources: ${GOOGLE_TEST_DEBIAN_SOURCES_DIR}") message("Path to the Debian Google Test includes: ${GOOGLE_TEST_DEBIAN_INCLUDE_DIR}") - set(GOOGLE_TEST_SOURCES ${GOOGLE_TEST_DEBIAN_SOURCES_DIR}/src/gtest-all.cc) + set(GOOGLE_TEST_SOURCES + ${GOOGLE_TEST_DEBIAN_SOURCES_DIR}/src/gtest-all.cc + ) + include_directories(${GOOGLE_TEST_DEBIAN_SOURCES_DIR}) if (NOT EXISTS ${GOOGLE_TEST_SOURCES} OR @@ -54,5 +57,7 @@ endif() include_directories(${GOOGLE_TEST_INCLUDE_DIRS}) - link_libraries(${GOOGLE_TEST_LIBRARIES}) + + # The variable GOOGLE_TEST_LIBRARIES contains the shared library of + # Google Test endif() diff -r 06536b4f30c0 -r e6af2c5cd0f1 Resources/CMake/OrthancFrameworkConfiguration.cmake --- a/Resources/CMake/OrthancFrameworkConfiguration.cmake Fri Sep 08 16:34:47 2017 +0200 +++ b/Resources/CMake/OrthancFrameworkConfiguration.cmake Fri Sep 08 16:48:33 2017 +0200 @@ -287,6 +287,19 @@ endif() +## +## Google Test for unit testing +## + +if (ENABLE_GOOGLE_TEST) + include(${CMAKE_CURRENT_LIST_DIR}/GoogleTestConfiguration.cmake) +else() + unset(USE_SYSTEM_GOOGLE_TEST CACHE) + unset(USE_GOOGLE_TEST_DEBIAN_PACKAGE CACHE) +endif() + + + ##################################################################### ## Inclusion of mandatory third-party dependencies ##################################################################### diff -r 06536b4f30c0 -r e6af2c5cd0f1 Resources/CMake/OrthancFrameworkParameters.cmake --- a/Resources/CMake/OrthancFrameworkParameters.cmake Fri Sep 08 16:34:47 2017 +0200 +++ b/Resources/CMake/OrthancFrameworkParameters.cmake Fri Sep 08 16:48:33 2017 +0200 @@ -34,6 +34,7 @@ set(USE_SYSTEM_BOOST ON CACHE BOOL "Use the system version of Boost") set(USE_SYSTEM_CIVETWEB ON CACHE BOOL "Use the system version of Civetweb (experimental)") set(USE_SYSTEM_CURL ON CACHE BOOL "Use the system version of LibCurl") +set(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") set(USE_SYSTEM_JSONCPP ON CACHE BOOL "Use the system version of JsonCpp") set(USE_SYSTEM_LIBICONV ON CACHE BOOL "Use the system version of libiconv") set(USE_SYSTEM_LIBJPEG ON CACHE BOOL "Use the system version of libjpeg") @@ -55,10 +56,12 @@ set(ENABLE_DCMTK_JPEG_LOSSLESS ON CACHE BOOL "Enable JPEG-LS (Lossless) decompression") # Advanced and distribution-specific parameters +set(USE_GOOGLE_TEST_DEBIAN_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") set(SYSTEM_MONGOOSE_USE_CALLBACKS ON CACHE BOOL "The system version of Mongoose uses callbacks (version >= 3.7)") set(USE_BOOST_ICONV ON CACHE BOOL "Use iconv instead of wconv (Windows only)") set(USE_PUGIXML ON CACHE BOOL "Use the Pugixml parser (turn off only for debug)") +mark_as_advanced(USE_GOOGLE_TEST_DEBIAN_PACKAGE) mark_as_advanced(SYSTEM_MONGOOSE_USE_CALLBACKS) mark_as_advanced(USE_BOOST_ICONV) mark_as_advanced(USE_PUGIXML) @@ -75,6 +78,7 @@ set(ENABLE_CRYPTO_OPTIONS OFF CACHE INTERNAL "Show options related to cryptography") set(ENABLE_JPEG OFF CACHE INTERNAL "Enable support of JPEG") +set(ENABLE_GOOGLE_TEST OFF CACHE INTERNAL "Enable support of Google Test") set(ENABLE_LOCALE OFF CACHE INTERNAL "Enable support for locales (notably in Boost)") set(ENABLE_LUA OFF CACHE INTERNAL "Enable support of Lua scripting") set(ENABLE_PNG OFF CACHE INTERNAL "Enable support of PNG")