Mercurial > hg > orthanc-webviewer
comparison Resources/Orthanc/CMake/DownloadOrthancFramework.cmake @ 269:938257eebc03
simplification
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 10 Jun 2020 16:47:06 +0200 |
parents | 4e9d30c19b4b |
children | d3b58d11e3ec 2c3555b8eabc |
comparison
equal
deleted
inserted
replaced
268:6171ef61c512 | 269:938257eebc03 |
---|---|
133 # DICOMweb 1.1 (framework pre-1.6.0) | 133 # DICOMweb 1.1 (framework pre-1.6.0) |
134 set(ORTHANC_FRAMEWORK_MD5 "7e09e9b530a2f527854f0b782d7e0645") | 134 set(ORTHANC_FRAMEWORK_MD5 "7e09e9b530a2f527854f0b782d7e0645") |
135 endif() | 135 endif() |
136 endif() | 136 endif() |
137 endif() | 137 endif() |
138 else() | 138 |
139 elseif (NOT ORTHANC_FRAMEWORK_SOURCE STREQUAL "system") | |
139 message("Using the Orthanc framework from a path of the filesystem. Assuming mainline version.") | 140 message("Using the Orthanc framework from a path of the filesystem. Assuming mainline version.") |
140 set(ORTHANC_FRAMEWORK_MAJOR 999) | 141 set(ORTHANC_FRAMEWORK_MAJOR 999) |
141 set(ORTHANC_FRAMEWORK_MINOR 999) | 142 set(ORTHANC_FRAMEWORK_MINOR 999) |
142 set(ORTHANC_FRAMEWORK_REVISION 999) | 143 set(ORTHANC_FRAMEWORK_REVISION 999) |
143 endif() | 144 endif() |
381 ## | 382 ## |
382 | 383 |
383 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system") | 384 if (ORTHANC_FRAMEWORK_SOURCE STREQUAL "system") |
384 set(ORTHANC_FRAMEWORK_LIBDIR "" CACHE PATH "") | 385 set(ORTHANC_FRAMEWORK_LIBDIR "" CACHE PATH "") |
385 | 386 |
387 if (CMAKE_SYSTEM_NAME STREQUAL "Windows" AND | |
388 CMAKE_COMPILER_IS_GNUCXX) # MinGW | |
389 set(DYNAMIC_MINGW_STDLIB ON) # Disable static linking against libc (to throw exceptions) | |
390 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -static-libstdc++") | |
391 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static-libstdc++") | |
392 endif() | |
393 | |
394 include(CheckIncludeFile) | |
386 include(CheckIncludeFileCXX) | 395 include(CheckIncludeFileCXX) |
387 include(FindPythonInterp) | 396 include(FindPythonInterp) |
388 include(${CMAKE_CURRENT_LIST_DIR}/Compiler.cmake) | 397 include(${CMAKE_CURRENT_LIST_DIR}/Compiler.cmake) |
389 include(${CMAKE_CURRENT_LIST_DIR}/DownloadPackage.cmake) | 398 include(${CMAKE_CURRENT_LIST_DIR}/DownloadPackage.cmake) |
390 include(${CMAKE_CURRENT_LIST_DIR}/AutoGeneratedCode.cmake) | 399 include(${CMAKE_CURRENT_LIST_DIR}/AutoGeneratedCode.cmake) |
391 set(EMBED_RESOURCES_PYTHON ${CMAKE_CURRENT_LIST_DIR}/EmbedResources.py) | 400 set(EMBED_RESOURCES_PYTHON ${CMAKE_CURRENT_LIST_DIR}/EmbedResources.py) |
392 | 401 |
393 # Look for mandatory dependency JsonCpp (cf. JsonCppConfiguration.cmake) | 402 if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") |
394 find_path(JSONCPP_INCLUDE_DIR json/reader.h | 403 # Look for mandatory dependency JsonCpp (cf. JsonCppConfiguration.cmake) |
395 /usr/include/jsoncpp | 404 find_path(JSONCPP_INCLUDE_DIR json/reader.h |
396 /usr/local/include/jsoncpp | 405 /usr/include/jsoncpp |
397 ) | 406 /usr/local/include/jsoncpp |
398 | 407 ) |
399 message("JsonCpp include dir: ${JSONCPP_INCLUDE_DIR}") | 408 |
400 include_directories(${JSONCPP_INCLUDE_DIR}) | 409 message("JsonCpp include dir: ${JSONCPP_INCLUDE_DIR}") |
401 link_libraries(jsoncpp) | 410 include_directories(${JSONCPP_INCLUDE_DIR}) |
402 | 411 link_libraries(jsoncpp) |
403 CHECK_INCLUDE_FILE_CXX(${JSONCPP_INCLUDE_DIR}/json/reader.h HAVE_JSONCPP_H) | 412 |
404 if (NOT HAVE_JSONCPP_H) | 413 CHECK_INCLUDE_FILE_CXX(${JSONCPP_INCLUDE_DIR}/json/reader.h HAVE_JSONCPP_H) |
405 message(FATAL_ERROR "Please install the libjsoncpp-dev package") | 414 if (NOT HAVE_JSONCPP_H) |
406 endif() | 415 message(FATAL_ERROR "Please install the libjsoncpp-dev package") |
407 | 416 endif() |
408 # Look for mandatory dependency Boost (cf. BoostConfiguration.cmake) | 417 |
409 include(FindBoost) | 418 # Look for mandatory dependency Boost (cf. BoostConfiguration.cmake) |
410 find_package(Boost COMPONENTS filesystem thread system date_time regex) | 419 include(FindBoost) |
411 | 420 find_package(Boost COMPONENTS filesystem thread system date_time regex) |
412 if (NOT Boost_FOUND) | 421 |
413 message(FATAL_ERROR "Unable to locate Boost on this system") | 422 if (NOT Boost_FOUND) |
414 endif() | 423 message(FATAL_ERROR "Unable to locate Boost on this system") |
415 | 424 endif() |
416 include_directories(${Boost_INCLUDE_DIRS}) | 425 |
417 link_libraries(${Boost_LIBRARIES}) | 426 include_directories(${Boost_INCLUDE_DIRS}) |
427 link_libraries(${Boost_LIBRARIES}) | |
428 | |
429 # Optional component - Lua | |
430 if (ENABLE_LUA) | |
431 include(FindLua) | |
432 | |
433 if (NOT LUA_FOUND) | |
434 message(FATAL_ERROR "Please install the liblua-dev package") | |
435 endif() | |
436 | |
437 include_directories(${LUA_INCLUDE_DIR}) | |
438 link_libraries(${LUA_LIBRARIES}) | |
439 endif() | |
440 | |
441 # Optional component - SQLite | |
442 if (ENABLE_SQLITE) | |
443 CHECK_INCLUDE_FILE(sqlite3.h HAVE_SQLITE_H) | |
444 if (NOT HAVE_SQLITE_H) | |
445 message(FATAL_ERROR "Please install the libsqlite3-dev package") | |
446 endif() | |
447 link_libraries(sqlite3) | |
448 endif() | |
449 endif() | |
450 | |
451 # Optional component - Google Test | |
452 if (ENABLE_GOOGLE_TEST) | |
453 set(USE_SYSTEM_GOOGLE_TEST ON CACHE BOOL "Use the system version of Google Test") | |
454 set(USE_GOOGLE_TEST_DEBIAN_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)") | |
455 mark_as_advanced(USE_GOOGLE_TEST_DEBIAN_PACKAGE) | |
456 include(${CMAKE_CURRENT_LIST_DIR}/GoogleTestConfiguration.cmake) | |
457 endif() | |
418 | 458 |
419 # Look for Orthanc framework shared library | 459 # Look for Orthanc framework shared library |
420 include(CheckCXXSymbolExists) | 460 include(CheckCXXSymbolExists) |
421 | 461 |
422 find_path(ORTHANC_FRAMEWORK_INCLUDE_DIR OrthancFramework.h | 462 if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") |
423 /usr/include/orthanc-framework | 463 set(ORTHANC_FRAMEWORK_INCLUDE_DIR ${ORTHANC_FRAMEWORK_ROOT}) |
424 /usr/local/include/orthanc-framework | 464 include_directories(${ORTHANC_FRAMEWORK_ROOT}/..) |
425 ${ORTHANC_FRAMEWORK_ROOT} | 465 else() |
426 ) | 466 find_path(ORTHANC_FRAMEWORK_INCLUDE_DIR OrthancFramework.h |
467 /usr/include/orthanc-framework | |
468 /usr/local/include/orthanc-framework | |
469 ${ORTHANC_FRAMEWORK_ROOT} | |
470 ) | |
471 endif() | |
427 | 472 |
428 message("Orthanc framework include dir: ${ORTHANC_FRAMEWORK_INCLUDE_DIR}") | 473 message("Orthanc framework include dir: ${ORTHANC_FRAMEWORK_INCLUDE_DIR}") |
429 include_directories(${ORTHANC_FRAMEWORK_INCLUDE_DIR}) | 474 include_directories(${ORTHANC_FRAMEWORK_INCLUDE_DIR}) |
430 | 475 |
431 set(CMAKE_REQUIRED_INCLUDES "${ORTHANC_FRAMEWORK_INCLUDE_DIR}") | 476 set(CMAKE_REQUIRED_INCLUDES "${ORTHANC_FRAMEWORK_INCLUDE_DIR}") |