diff Resources/CMake/LibP11Configuration.cmake @ 2026:d46746607ae0

fix
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 20 Jun 2016 13:48:36 +0200
parents e7e1858d9504
children 8c9426d0a3e2
line wrap: on
line diff
--- a/Resources/CMake/LibP11Configuration.cmake	Mon Jun 20 13:23:42 2016 +0200
+++ b/Resources/CMake/LibP11Configuration.cmake	Mon Jun 20 13:48:36 2016 +0200
@@ -2,9 +2,29 @@
   SET(LIBP11_SOURCES_DIR ${CMAKE_BINARY_DIR}/libp11-0.4.0)
   SET(LIBP11_URL "www.montefiore.ulg.ac.be/~jodogne/Orthanc/ThirdPartyDownloads/beid/libp11-0.4.0.tar.gz")
   SET(LIBP11_MD5 "00b3e41db5be840d822bda12f3ab2ca7")
+ 
+  if (IS_DIRECTORY "${LIBP11_SOURCES_DIR}")
+    set(FirstRun OFF)
+  else()
+    set(FirstRun ON)
+  endif()
+
   DownloadPackage(${LIBP11_MD5} ${LIBP11_URL} "${LIBP11_SOURCES_DIR}")
 
-  include_directories(${LIBP11_SOURCES_DIR}/src)
+  file(COPY
+    ${LIBP11_SOURCES_DIR}/src/engine.h
+    ${LIBP11_SOURCES_DIR}/src/libp11.h
+    DESTINATION ${AUTOGENERATED_DIR}/libp11)
+
+  execute_process(
+    COMMAND ${PATCH_EXECUTABLE} -p0 -N -i ${CMAKE_CURRENT_SOURCE_DIR}/Resources/Patches/libp11-0.4.0.patch
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+    RESULT_VARIABLE Failure
+    )
+
+  if (Failure AND FirstRun)
+    message(FATAL_ERROR "Error while patching libp11")
+  endif()
 
   set(LIBP11_SOURCES 
     #${LIBP11_SOURCES_DIR}/src/eng_front.c