diff CMakeLists.txt @ 26:a6492d20b2a8

modularization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 02 Jun 2015 11:40:05 +0200
parents 7a0af291cc90
children 4cfad290b808
line wrap: on
line diff
--- a/CMakeLists.txt	Tue Jun 02 11:16:30 2015 +0200
+++ b/CMakeLists.txt	Tue Jun 02 11:40:05 2015 +0200
@@ -22,7 +22,6 @@
 
 set(ORTHANC_WEBVIEWER_VERSION "1.0")
 
-
 # Parameters of the build
 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
 SET(STANDALONE_BUILD ON CACHE BOOL "Standalone build (all the resources are embedded, necessary for releases)")
@@ -42,23 +41,24 @@
 set(USE_GTEST_DEBIAN_SOURCE_PACKAGE OFF CACHE BOOL "Use the sources of Google Test shipped with libgtest-dev (Debian only)")
 mark_as_advanced(USE_GTEST_DEBIAN_SOURCE_PACKAGE)
 
+set(ORTHANC_ROOT ${CMAKE_SOURCE_DIR}/Orthanc)
 include(CheckIncludeFiles)
 include(CheckIncludeFileCXX)
 include(CheckLibraryExists)
 include(FindPythonInterp)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/Compiler.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/AutoGeneratedCode.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/DownloadPackage.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/Compiler.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/AutoGeneratedCode.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/DownloadPackage.cmake)
 
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/BoostConfiguration.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/BoostConfiguration.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/GoogleTestConfiguration.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/JsonCppConfiguration.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/LibPngConfiguration.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/ZlibConfiguration.cmake)
+include(${CMAKE_SOURCE_DIR}/Orthanc/Resources/CMake/SQLiteConfiguration.cmake)
+
 include(${CMAKE_SOURCE_DIR}/Resources/CMake/GdcmConfiguration.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/GoogleTestConfiguration.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/JsonCppConfiguration.cmake)
 include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibJpegConfiguration.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/LibPngConfiguration.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/ZlibConfiguration.cmake)
-include(${CMAKE_SOURCE_DIR}/Resources/CMake/SQLiteConfiguration.cmake)
-
 include(${CMAKE_SOURCE_DIR}/Resources/CMake/JavaScriptLibraries.cmake)
 
 
@@ -105,34 +105,44 @@
   -DORTHANC_SQLITE_STANDALONE=1
   )
 
+
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
+    ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD" OR
+    ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+  link_libraries(rt)
+elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+  SET(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES} -lws2_32")
+endif()
+
+
 set(CORE_SOURCES
   ${BOOST_SOURCES}
-  ${JSONCPP_SOURCES}
+  ${THIRD_PARTY_SOURCES}
   ${SQLITE_SOURCES}
   ${LIBJPEG_SOURCES}
   ${ZLIB_SOURCES}
   ${LIBPNG_SOURCES}
 
   # Sources inherited from Orthanc core
-  ${CMAKE_SOURCE_DIR}/Orthanc/ChunkedBuffer.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/Enumerations.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/FileStorage/FilesystemStorage.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/ImageFormats/ImageAccessor.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/ImageFormats/ImageBuffer.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/ImageFormats/ImageProcessing.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/ImageFormats/PngWriter.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/MultiThreading/SharedMessageQueue.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/OrthancException.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/SQLite/Connection.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/SQLite/FunctionContext.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/SQLite/Statement.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/SQLite/StatementId.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/SQLite/StatementReference.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/SQLite/Transaction.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/Toolbox.cpp
-  ${CMAKE_SOURCE_DIR}/Orthanc/Uuid.cpp
-  ${CMAKE_SOURCE_DIR}/Resources/ThirdParty/base64/base64.cpp
-  ${CMAKE_SOURCE_DIR}/Resources/ThirdParty/md5/md5.c
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/ChunkedBuffer.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/Enumerations.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/FileStorage/FilesystemStorage.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/ImageAccessor.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/ImageBuffer.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/ImageProcessing.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/ImageFormats/PngWriter.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/MultiThreading/SharedMessageQueue.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/OrthancException.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/Connection.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/FunctionContext.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/Statement.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/StatementId.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/StatementReference.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/SQLite/Transaction.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/Toolbox.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Core/Uuid.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Resources/ThirdParty/base64/base64.cpp
+  ${CMAKE_SOURCE_DIR}/Orthanc/Resources/ThirdParty/md5/md5.c
 
   ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheManager.cpp
   ${CMAKE_SOURCE_DIR}/Plugin/Cache/CacheScheduler.cpp
@@ -156,11 +166,12 @@
   ${CMAKE_SOURCE_DIR}/Plugin/DecodedImageAdapter.cpp
   )
 
+
 if (STATIC_BUILD OR NOT USE_SYSTEM_GDCM)
   add_dependencies(OrthancWebViewer GDCM)
 endif()
 
-target_link_libraries(OrthancWebViewer ${GDCM_LIBRARIES} ${OS_LIBRARIES})
+target_link_libraries(OrthancWebViewer ${GDCM_LIBRARIES})
 
 message("Setting the version of the library to ${ORTHANC_WEBVIEWER_VERSION}")
 
@@ -181,5 +192,3 @@
   ${GTEST_SOURCES}
   UnitTestsSources/UnitTestsMain.cpp
   )
-
-target_link_libraries(UnitTests ${OS_LIBRARIES})