view UnitTestsSources/CMakeLists.txt @ 1595:621e4e11783d

doxygen target, more consistent ORTHANC_STONE_ROOT
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 26 Oct 2020 17:42:13 +0100
parents 8c5f9864545f
children 5b8b88e5bfd6
line wrap: on
line source

# Stone of Orthanc
# Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
# Department, University Hospital of Liege, Belgium
# Copyright (C) 2017-2020 Osimis S.A., Belgium
#
# This program is free software: you can redistribute it and/or
# modify it under the terms of the GNU Affero General Public License
# as published by the Free Software Foundation, either version 3 of
# the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.


cmake_minimum_required(VERSION 2.8.10)

project(UnitTests)

include(${CMAKE_SOURCE_DIR}/../OrthancStone/Resources/CMake/OrthancStoneParameters.cmake)

if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system")
  set(ORTHANC_BOOST_COMPONENTS program_options)

  set(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test")
  set(USE_GOOGLE_TEST_DEBIAN_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)")
  mark_as_advanced(USE_GOOGLE_TEST_DEBIAN_PACKAGE)
  include(${ORTHANC_STONE_ROOT}/../Resources/Orthanc/CMake/DownloadPackage.cmake)
  include(${ORTHANC_STONE_ROOT}/../Resources/Orthanc/CMake/GoogleTestConfiguration.cmake)

else()
  set(ENABLE_GOOGLE_TEST ON)
endif()

set(ENABLE_OPENGL OFF)
set(ENABLE_PUGIXML ON)

include(${ORTHANC_STONE_ROOT}/../Resources/CMake/OrthancStoneConfiguration.cmake)

add_executable(UnitTests
  ${CMAKE_SOURCE_DIR}/GenericToolboxTests.cpp
  ${CMAKE_SOURCE_DIR}/ImageToolboxTests.cpp
  ${CMAKE_SOURCE_DIR}/PixelTestPatternsTests.cpp
  ${CMAKE_SOURCE_DIR}/SortedFramesTests.cpp
  ${CMAKE_SOURCE_DIR}/TestMessageBroker.cpp
  ${CMAKE_SOURCE_DIR}/TestStrategy.cpp
  ${CMAKE_SOURCE_DIR}/TestStructureSet.cpp
  ${CMAKE_SOURCE_DIR}/UnitTestsMain.cpp

  ${AUTOGENERATED_SOURCES}
  ${BOOST_EXTENDED_SOURCES}
  ${GOOGLE_TEST_SOURCES}
  ${ORTHANC_STONE_SOURCES}
  )

target_link_libraries(UnitTests ${DCMTK_LIBRARIES})


#####################################################################
## Generate the documentation if Doxygen is present
#####################################################################

find_package(Doxygen)
if (DOXYGEN_FOUND)
  configure_file(
    ${ORTHANC_STONE_ROOT}/../Resources/OrthancStone.doxygen
    ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
    @ONLY)

  add_custom_target(doc
    ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/OrthancStone.doxygen
    COMMENT "Generating documentation with Doxygen" VERBATIM
    )
else()
  message("Doxygen not found. The documentation will not be built.")
endif()