1# Copyright (c) 2020-2021 Intel Corporation 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15option(TBB_INSTALL_VARS "Enable auto-generated vars installation" OFF) 16 17if (WIN32) 18 set(TBB_VARS_TEMPLATE "windows/env/vars.bat.in") 19elseif (APPLE) 20 set(TBB_VARS_TEMPLATE "mac/env/vars.sh.in") 21else() 22 set(TBB_VARS_TEMPLATE "linux/env/vars.sh.in") 23endif() 24 25get_filename_component(TBB_VARS_TEMPLATE_NAME ${PROJECT_SOURCE_DIR}/integration/${TBB_VARS_TEMPLATE} NAME) 26string(REPLACE ".in" "" TBB_VARS_NAME ${TBB_VARS_TEMPLATE_NAME}) 27 28macro(tbb_gen_vars target) 29 if (${CMAKE_PROJECT_NAME} STREQUAL ${PROJECT_NAME}) 30 add_custom_command(TARGET ${target} POST_BUILD COMMAND 31 ${CMAKE_COMMAND} 32 -DBINARY_DIR=${CMAKE_BINARY_DIR} 33 -DSOURCE_DIR=${PROJECT_SOURCE_DIR} 34 -DBIN_PATH=$<TARGET_FILE_DIR:${target}> 35 -DVARS_TEMPLATE=${TBB_VARS_TEMPLATE} 36 -DVARS_NAME=${TBB_VARS_NAME} 37 -DTBB_INSTALL_VARS=${TBB_INSTALL_VARS} 38 -DTBB_CMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} 39 -P ${PROJECT_SOURCE_DIR}/integration/cmake/generate_vars.cmake 40 ) 41 endif() 42endmacro(tbb_gen_vars) 43 44if (TBB_INSTALL_VARS) 45 install(PROGRAMS "${CMAKE_BINARY_DIR}/internal_install_vars" 46 DESTINATION env 47 RENAME ${TBB_VARS_NAME}) 48endif() 49