Salome HOME
move to tbb 2019_U8 - strangely does not compile if using native one
[tools/sat_salome.git] / products / patches / openturns-1.16.0001.patch
1 diff -pruN openturns_ref/CMakeLists.txt openturns_dev/CMakeLists.txt
2 --- openturns_ref/CMakeLists.txt        2021-02-19 15:46:57.077060192 +0100
3 +++ openturns_dev/CMakeLists.txt        2021-02-19 15:46:46.576956703 +0100
4 @@ -125,6 +125,10 @@ set (OPENTURNS_TEMPDIR
5  set (TEMPDIR ${OPENTURNS_TEMPDIR})
6  
7  set (CMAKE_CXX_STANDARD 11)
8 +SET(LAPACK_ROOT_DIR $ENV{LAPACK_ROOT_DIR})
9 +IF(LAPACK_ROOT_DIR)
10 +  LIST(APPEND CMAKE_PREFIX_PATH "${LAPACK_ROOT_DIR}")
11 +ENDIF(LAPACK_ROOT_DIR)
12  
13  if (NOT DEFINED LAPACK_LIBRARIES)
14    find_package (LAPACK REQUIRED)
15 @@ -156,7 +160,11 @@ if (USE_FLEX)
16    endif ()
17  endif ()
18  
19 -if (USE_TBB)
20 +if (USE_TBB) 
21 +  SET(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
22 +  if(TBB_ROOT_DIR)
23 +    LIST(APPEND CMAKE_PREFIX_PATH "${TBB_ROOT_DIR}")
24 +  endif(TBB_ROOT_DIR)
25    find_package (TBB)
26  endif ()
27  if (TBB_FOUND)
28 @@ -200,6 +208,10 @@ if (USE_DOXYGEN)
29  endif ()
30  
31  if (USE_LIBXML2)
32 +  SET(LIBXML2_ROOT_DIR $ENV{LIBXLM2_ROOT_DIR})
33 +  if(LIBXML2_ROOT_DIR)
34 +    LIST(APPEND CMAKE_PREFIX_PATH "${LIBXML2_ROOT_DIR}")    
35 +  endif(LIBXML2_ROOT_DIR)
36    find_package (LibXml2)
37  endif ()
38  if (LIBXML2_FOUND)
39 @@ -210,7 +222,7 @@ if (LIBXML2_FOUND)
40  endif ()
41  
42  if (USE_HDF5)
43 -  find_package(HDF5 COMPONENTS CXX)
44 +  find_package(HDF5 COMPONENTS CXX HL)
45  endif ()
46  if (HDF5_FOUND)
47    set (OPENTURNS_HAVE_HDF5 TRUE)
48 @@ -218,7 +230,6 @@ if (HDF5_FOUND)
49    list (APPEND OPENTURNS_PRIVATE_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS})
50    list (APPEND OPENTURNS_PRIVATE_LIBRARIES ${HDF5_LIBRARIES})
51  endif ()
52 -
53  if (MSVC OR WINTEL)
54    set (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/lib/include/pthread_win32 ${CMAKE_CURRENT_SOURCE_DIR}/lib/include)
55    include_directories (${PROJECT_SOURCE_DIR}/lib/include/pthread_win32 ${CMAKE_CURRENT_SOURCE_DIR}/lib/include)
56
57 diff -pruN openturns_ref/cmake/FindTBB.cmake openturns_dev/cmake/FindTBB.cmake
58 --- openturns_ref/cmake/FindTBB.cmake   2021-02-19 15:46:57.058060005 +0100
59 +++ openturns_dev/cmake/FindTBB.cmake   2021-02-19 15:51:59.654083375 +0100
60 @@ -27,6 +27,11 @@
61  # (To distributed this file outside of CMake, substitute the full
62  #  License text for the above reference.)
63  
64 +SET(TBB_ROOT_DIR $ENV{TBB_ROOT_DIR})
65 +IF(TBB_ROOT_DIR)
66 +  LIST(APPEND CMAKE_PREFIX_PATH "${TBB_ROOT_DIR}")
67 +ENDIF(TBB_ROOT_DIR)
68 +
69  find_path (TBB_INCLUDE_DIR NAMES tbb/tbb.h DOC "TBB include directory")
70  
71  set (TBB_INCLUDE_DIRS ${TBB_INCLUDE_DIR})
72
73 diff -pruN openturns_ref/cmake/FindNLopt.cmake openturns_dev/cmake/FindNLopt.cmake
74 --- openturns_ref/cmake/FindNLopt.cmake 2021-02-19 15:46:57.064060064 +0100
75 +++ openturns_dev/cmake/FindNLopt.cmake 2021-02-19 15:53:27.134956381 +0100
76 @@ -11,10 +11,21 @@
77  #  NLOPT_ROOT_DIR - root dir (ex. /usr/local)
78  
79  # set NLOPT_INCLUDE_DIR
80 +SET(NLOPT_ROOT_DIR $ENV{NLOPT_ROOT_DIR})
81 +
82 +IF(NLOPT_ROOT_DIR)
83 +  LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}")
84 +  LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}/include")
85 +  LIST(APPEND CMAKE_PREFIX_PATH "${NLOPT_ROOT_DIR}/lib")
86 +ELSE(NLOPT_ROOT_DIR)
87 +  MESSAGE(FATAL_ERROR "PLEASE SET ENVIRONMENT VARIABLE NLOPT_ROOT_DIR")
88 +ENDIF(NLOPT_ROOT_DIR)
89 +
90  find_path (NLOPT_INCLUDE_DIR
91    NAMES nlopt.hpp
92 +  HINTS ${NLOPT_ROOT_DIR}/include
93    DOC
94 -    "Nlopt include directory"
95 +  "Nlopt include directory"
96  )
97  
98  # set NLOPT_INCLUDE_DIRS
99 @@ -22,9 +33,10 @@ set (NLOPT_INCLUDE_DIRS ${NLOPT_INCLUDE_
100  
101  # set NLOPT_LIBRARY
102  find_library (NLOPT_LIBRARY
103 -  NAMES nlopt_cxx nlopt
104 +  NAMES nlopt
105 +  HINTS ${NLOPT_ROOT_DIR}/lib
106    DOC
107 -    "Nlopt library location"
108 +  "Nlopt library location"
109  )
110  
111  # set NLOPT_LIBRARIES
112
113 diff -pruN openturns_ref/lib/src/CMakeLists.txt openturns_dev/lib/src/CMakeLists.txt
114 --- openturns_ref/lib/src/CMakeLists.txt        2021-02-19 15:46:49.880989268 +0100
115 +++ openturns_dev/lib/src/CMakeLists.txt        2021-02-19 16:12:54.874714974 +0100
116 @@ -80,15 +80,15 @@ if (BISON_FOUND AND FLEX_FOUND)
117    add_dependencies (OT generate_csv_parser)
118  endif ()
119  
120 -target_link_libraries (OT PUBLIC ${OPENTURNS_LIBRARIES})
121 -target_link_libraries (OT PRIVATE ${OPENTURNS_PRIVATE_LIBRARIES})
122 +target_link_libraries (OT PUBLIC ${OPENTURNS_LIBRARIES} ${HDF5_LIBRARIES} ${TBB_LIBRARIES})
123 +target_link_libraries (OT PRIVATE ${OPENTURNS_PRIVATE_LIBRARIES}  ${HDF5_LIBRARIES} ${TBB_LIBRARIES})
124  
125  target_include_directories (OT INTERFACE $<INSTALL_INTERFACE:include>)
126  target_include_directories (OT PUBLIC ${OPENTURNS_INCLUDE_DIRS})
127  
128  # Build an empty executable to check link dependencies and completeness
129  add_executable (linktest main.cxx)
130 -target_link_libraries (linktest OT)
131 +target_link_libraries (linktest OT ${TBB_LIBRARIES} ${HDF5_LIBRARIES})
132  set_target_properties (linktest PROPERTIES
133                                   INSTALL_RPATH "${CMAKE_INSTALL_RPATH};${CMAKE_BINARY_DIR}/lib/src")
134  
135 @@ -109,5 +109,5 @@ install (TARGETS OT
136  if (UNIX AND BUILD_SHARED_LIBS)
137    set (OT_GDB_PY ${CMAKE_SHARED_LIBRARY_PREFIX}OT${CMAKE_SHARED_LIBRARY_SUFFIX}.${LIB_VERSION}-gdb.py)
138    execute_process (COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/libOT-gdb.py ${CMAKE_CURRENT_BINARY_DIR}/${OT_GDB_PY})
139 -  install (FILES libOT-gdb.py DESTINATION ${OPENTURNS_DATA_PATH}/gdb/auto-load/${LIBRARY_PATH} RENAME ${OT_GDB_PY})
140 +  install (FILES libOT-gdb.py DESTINATION ${OPENTURNS_DATA_PATH}/gdb/auto-load RENAME ${OT_GDB_PY})
141  endif ()
142
143 diff -pruN openturns_ref/lib/src/Base/Common/openturns/TBB.hxx openturns_dev/lib/src/Base/Common/openturns/TBB.hxx
144 --- openturns_ref/lib/src/Base/Common/openturns/TBB.hxx 2021-02-19 15:46:48.419974868 +0100
145 +++ openturns_dev/lib/src/Base/Common/openturns/TBB.hxx 2021-02-19 15:46:37.804870246 +0100
146 @@ -35,6 +35,7 @@
147  #  define __TBBMALLOC_NO_IMPLICIT_LINKAGE 1
148  # endif
149  #endif
150 +#define TBB_PREVIEW_TASK_ARENA 1
151  #include <tbb/task_arena.h>
152  #include <tbb/parallel_sort.h>
153  #include <tbb/parallel_reduce.h>