| 
									
										
										
										
											2017-07-25 16:37:55 +02:00
										 |  |  | # ***** BEGIN GPL LICENSE BLOCK *****
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # This program is free software; you can redistribute it and/or
 | 
					
						
							|  |  |  | # modify it under the terms of the GNU General Public License
 | 
					
						
							|  |  |  | # as published by the Free Software Foundation; either version 2
 | 
					
						
							|  |  |  | # 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 General Public License for more details.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # You should have received a copy of the GNU General Public License
 | 
					
						
							|  |  |  | # along with this program; if not, write to the Free Software Foundation,
 | 
					
						
							|  |  |  | # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
					
						
							|  |  |  | #
 | 
					
						
							|  |  |  | # ***** END GPL LICENSE BLOCK *****
 | 
					
						
							| 
									
										
										
										
											2019-11-12 20:55:39 -07:00
										 |  |  | if(WIN32)
 | 
					
						
							|  |  |  |   set(TBB_EXTRA_ARGS | 
					
						
							|  |  |  |     -DTBB_BUILD_SHARED=On
 | 
					
						
							|  |  |  |     -DTBB_BUILD_TBBMALLOC=On
 | 
					
						
							|  |  |  |     -DTBB_BUILD_TBBMALLOC_PROXY=On
 | 
					
						
							| 
									
										
										
										
											2020-05-03 16:25:56 -06:00
										 |  |  |     -DTBB_BUILD_STATIC=Off
 | 
					
						
							| 
									
										
										
										
											2021-04-20 14:00:05 +02:00
										 |  |  |     -DTBB_BUILD_TESTS=Off
 | 
					
						
							| 
									
										
										
										
											2021-06-04 09:16:03 -06:00
										 |  |  |     -DCMAKE_DEBUG_POSTFIX=_debug
 | 
					
						
							| 
									
										
										
										
											2020-05-03 16:25:56 -06:00
										 |  |  |   )
 | 
					
						
							|  |  |  |   set(TBB_LIBRARY tbb)
 | 
					
						
							|  |  |  |   set(TBB_STATIC_LIBRARY Off)
 | 
					
						
							| 
									
										
										
										
											2019-11-12 20:55:39 -07:00
										 |  |  | else()
 | 
					
						
							|  |  |  |   set(TBB_EXTRA_ARGS | 
					
						
							|  |  |  |     -DTBB_BUILD_SHARED=Off
 | 
					
						
							|  |  |  |     -DTBB_BUILD_TBBMALLOC=On
 | 
					
						
							|  |  |  |     -DTBB_BUILD_TBBMALLOC_PROXY=Off
 | 
					
						
							|  |  |  |     -DTBB_BUILD_STATIC=On
 | 
					
						
							| 
									
										
										
										
											2021-04-20 14:00:05 +02:00
										 |  |  |     -DTBB_BUILD_TESTS=Off
 | 
					
						
							| 
									
										
										
										
											2019-11-12 20:55:39 -07:00
										 |  |  |   )
 | 
					
						
							| 
									
										
										
										
											2020-05-03 16:25:56 -06:00
										 |  |  |   set(TBB_LIBRARY tbb_static)
 | 
					
						
							|  |  |  |   set(TBB_STATIC_LIBRARY On)
 | 
					
						
							| 
									
										
										
										
											2019-11-12 20:55:39 -07:00
										 |  |  | endif()
 | 
					
						
							| 
									
										
										
										
											2017-07-25 16:37:55 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | # CMake script for TBB from https://github.com/wjakob/tbb/blob/master/CMakeLists.txt
 | 
					
						
							|  |  |  | ExternalProject_Add(external_tbb | 
					
						
							| 
									
										
										
										
											2021-03-16 14:10:30 +01:00
										 |  |  |   URL file://${PACKAGE_DIR}/${TBB_FILE}
 | 
					
						
							| 
									
										
										
										
											2017-07-25 16:37:55 +02:00
										 |  |  |   DOWNLOAD_DIR ${DOWNLOAD_DIR}
 | 
					
						
							| 
									
										
										
										
											2021-03-16 14:10:30 +01:00
										 |  |  |   URL_HASH ${TBB_HASH_TYPE}=${TBB_HASH}
 | 
					
						
							| 
									
										
										
										
											2017-07-25 16:37:55 +02:00
										 |  |  |   PREFIX ${BUILD_DIR}/tbb
 | 
					
						
							|  |  |  |   PATCH_COMMAND COMMAND ${CMAKE_COMMAND} -E copy ${PATCH_DIR}/cmakelists_tbb.txt ${BUILD_DIR}/tbb/src/external_tbb/CMakeLists.txt &&
 | 
					
						
							| 
									
										
										
										
											2021-04-20 14:00:05 +02:00
										 |  |  |   ${CMAKE_COMMAND} -E copy ${BUILD_DIR}/tbb/src/external_tbb/build/vs2013/version_string.ver ${BUILD_DIR}/tbb/src/external_tbb/build/version_string.ver.in &&
 | 
					
						
							| 
									
										
										
										
											2021-02-09 14:14:00 +00:00
										 |  |  |   ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/tbb/src/external_tbb < ${PATCH_DIR}/tbb.diff
 | 
					
						
							| 
									
										
										
										
											2017-07-25 16:37:55 +02:00
										 |  |  |   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/tbb ${DEFAULT_CMAKE_FLAGS} ${TBB_EXTRA_ARGS}
 | 
					
						
							|  |  |  |   INSTALL_DIR ${LIBDIR}/tbb
 | 
					
						
							|  |  |  | )
 | 
					
						
							| 
									
										
										
										
											2018-08-13 19:08:28 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-06-19 07:24:55 +10:00
										 |  |  | if(WIN32)
 | 
					
						
							| 
									
										
										
										
											2018-08-13 19:08:28 -06:00
										 |  |  |   if(BUILD_MODE STREQUAL Release)
 | 
					
						
							|  |  |  |     ExternalProject_Add_Step(external_tbb after_install | 
					
						
							| 
									
										
										
										
											2020-06-25 12:44:39 +02:00
										 |  |  |       # findtbb.cmake in some deps *NEEDS* to find tbb_debug.lib even if they are not going to use it
 | 
					
						
							|  |  |  |       # to make that test pass, we place a copy with the right name in the lib folder.
 | 
					
						
							| 
									
										
										
										
											2021-06-04 09:16:03 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${LIBDIR}/tbb/lib/tbb_debug.lib
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${LIBDIR}/tbb/lib/tbbmalloc_debug.lib
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb.dll ${LIBDIR}/tbb/bin/tbb_debug.dll
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc.dll ${LIBDIR}/tbb/bin/tbbmalloc_debug.dll
 | 
					
						
							| 
									
										
										
										
											2020-06-25 12:44:39 +02:00
										 |  |  |       # Normal collection of build artifacts
 | 
					
						
							| 
									
										
										
										
											2020-05-03 16:25:56 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb.lib ${HARVEST_TARGET}/tbb/lib/tbb.lib
 | 
					
						
							| 
									
										
										
										
											2021-06-04 09:16:03 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb.dll ${HARVEST_TARGET}/tbb/bin/tbb.dll
 | 
					
						
							| 
									
										
										
										
											2019-11-12 20:55:39 -07:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc.lib
 | 
					
						
							| 
									
										
										
										
											2021-06-04 09:16:03 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc.dll
 | 
					
						
							| 
									
										
										
										
											2019-11-12 20:55:39 -07:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy.lib
 | 
					
						
							| 
									
										
										
										
											2021-06-04 09:16:03 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_proxy.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_proxy.dll
 | 
					
						
							| 
									
										
										
										
											2018-08-13 19:08:28 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBDIR}/tbb/include/ ${HARVEST_TARGET}/tbb/include/
 | 
					
						
							|  |  |  |       DEPENDEES install
 | 
					
						
							|  |  |  |     )
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  |   if(BUILD_MODE STREQUAL Debug)
 | 
					
						
							|  |  |  |     ExternalProject_Add_Step(external_tbb after_install | 
					
						
							| 
									
										
										
										
											2020-05-03 16:25:56 -06:00
										 |  |  |       # findtbb.cmake in some deps *NEEDS* to find tbb.lib even if they are not going to use it
 | 
					
						
							|  |  |  |       # to make that test pass, we place a copy with the right name in the lib folder.
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${LIBDIR}/tbb/lib/tbb.lib
 | 
					
						
							|  |  |  |       # Normal collection of build artifacts
 | 
					
						
							| 
									
										
										
										
											2021-06-04 09:16:03 -06:00
										 |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbb_debug.lib ${HARVEST_TARGET}/tbb/lib/tbb_debug.lib
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbb_debug.dll ${HARVEST_TARGET}/tbb/bin/tbb_debug.dll
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/lib/tbbmalloc_proxy_debug.lib ${HARVEST_TARGET}/tbb/lib/tbbmalloc_proxy_debug.lib
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_debug.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_debug.dll
 | 
					
						
							|  |  |  |       COMMAND ${CMAKE_COMMAND} -E copy ${LIBDIR}/tbb/bin/tbbmalloc_proxy_debug.dll ${HARVEST_TARGET}/tbb/bin/tbbmalloc_proxy_debug.dll
 | 
					
						
							| 
									
										
										
										
											2018-08-13 19:08:28 -06:00
										 |  |  |       DEPENDEES install
 | 
					
						
							|  |  |  |     )
 | 
					
						
							|  |  |  |   endif()
 | 
					
						
							|  |  |  | endif()
 |