1b15aabb3Stbbdev# Copyright (c) 2020-2021 Intel Corporation 251c0b2f7Stbbdev# 351c0b2f7Stbbdev# Licensed under the Apache License, Version 2.0 (the "License"); 451c0b2f7Stbbdev# you may not use this file except in compliance with the License. 551c0b2f7Stbbdev# You may obtain a copy of the License at 651c0b2f7Stbbdev# 751c0b2f7Stbbdev# http://www.apache.org/licenses/LICENSE-2.0 851c0b2f7Stbbdev# 951c0b2f7Stbbdev# Unless required by applicable law or agreed to in writing, software 1051c0b2f7Stbbdev# distributed under the License is distributed on an "AS IS" BASIS, 1151c0b2f7Stbbdev# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1251c0b2f7Stbbdev# See the License for the specific language governing permissions and 1351c0b2f7Stbbdev# limitations under the License. 1451c0b2f7Stbbdev 15d86ed7fbStbbdevadd_library(irml 1651c0b2f7Stbbdev ../../src/tbb/allocator.cpp 1751c0b2f7Stbbdev ../../src/tbb/dynamic_link.cpp 1851c0b2f7Stbbdev ../../src/tbb/misc.cpp 1951c0b2f7Stbbdev ../../src/tbb/misc_ex.cpp 2051c0b2f7Stbbdev ../../src/tbb/exception.cpp 2151c0b2f7Stbbdev ipc_server.cpp 2251c0b2f7Stbbdev ipc_utils.cpp 2351c0b2f7Stbbdev) 2451c0b2f7Stbbdevadd_library(TBB::irml ALIAS irml) 2551c0b2f7Stbbdev 2651c0b2f7Stbbdevset_target_properties(irml PROPERTIES VERSION 1) 2751c0b2f7Stbbdev 2851c0b2f7Stbbdevtarget_include_directories(irml 2951c0b2f7Stbbdev PUBLIC 3051c0b2f7Stbbdev $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../include> 31*fa3268c3SJan Tojnar $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) 3251c0b2f7Stbbdev 3351c0b2f7Stbbdevtarget_compile_options(irml 3451c0b2f7Stbbdev PRIVATE 3551c0b2f7Stbbdev ${TBB_CXX_STD_FLAG} # TODO: consider making it PUBLIC. 3651c0b2f7Stbbdev ${TBB_MMD_FLAG} 3751c0b2f7Stbbdev ${TBB_DSE_FLAG} 3851c0b2f7Stbbdev ${TBB_WARNING_LEVEL} 3951c0b2f7Stbbdev ${TBB_LIB_COMPILE_FLAGS} 4051c0b2f7Stbbdev ${TBB_COMMON_COMPILE_FLAGS} 4151c0b2f7Stbbdev) 4251c0b2f7Stbbdev 43b15aabb3Stbbdevtarget_compile_definitions(irml 44b15aabb3Stbbdev PUBLIC 45b15aabb3Stbbdev $<$<CONFIG:DEBUG>:TBB_USE_DEBUG>) 46b15aabb3Stbbdev 4751c0b2f7Stbbdev# Prefer using target_link_options instead of target_link_libraries to specify link options because 4851c0b2f7Stbbdev# target_link_libraries may incorrectly handle some options (on Windows, for example). 4951c0b2f7Stbbdevif (COMMAND target_link_options) 5051c0b2f7Stbbdev target_link_options(irml 5151c0b2f7Stbbdev PRIVATE 5251c0b2f7Stbbdev ${TBB_LIB_LINK_FLAGS} 5351c0b2f7Stbbdev ${TBB_COMMON_LINK_FLAGS} 5451c0b2f7Stbbdev ) 5551c0b2f7Stbbdevelse() 5651c0b2f7Stbbdev target_link_libraries(irml 5751c0b2f7Stbbdev PRIVATE 5851c0b2f7Stbbdev ${TBB_LIB_LINK_FLAGS} 5951c0b2f7Stbbdev ${TBB_COMMON_LINK_FLAGS} 6051c0b2f7Stbbdev ) 6151c0b2f7Stbbdevendif() 6251c0b2f7Stbbdev 6351c0b2f7Stbbdevtarget_link_libraries(irml 6451c0b2f7Stbbdev PRIVATE 6551c0b2f7Stbbdev Threads::Threads 6651c0b2f7Stbbdev ${TBB_LIB_LINK_LIBS} 6751c0b2f7Stbbdev ${TBB_COMMON_LINK_LIBS} 6851c0b2f7Stbbdev) 6951c0b2f7Stbbdev 7051c0b2f7Stbbdevif (DEFINED TBB_SIGNTOOL) 7151c0b2f7Stbbdev string(REPLACE " " ";" TBB_SIGNTOOL_ARGS "${TBB_SIGNTOOL_ARGS}") 7251c0b2f7Stbbdev add_custom_command(TARGET irml POST_BUILD COMMAND ${TBB_SIGNTOOL} $<TARGET_FILE:irml> ${TBB_SIGNTOOL_ARGS}) 7351c0b2f7Stbbdevendif() 7451c0b2f7Stbbdev 7551c0b2f7Stbbdevinstall(TARGETS irml 7651c0b2f7Stbbdev EXPORT TBBTargets 77d86ed7fbStbbdev LIBRARY 78d86ed7fbStbbdev DESTINATION ${CMAKE_INSTALL_LIBDIR} 79d86ed7fbStbbdev COMPONENT tbb4py 80d86ed7fbStbbdev RUNTIME 81d86ed7fbStbbdev DESTINATION ${CMAKE_INSTALL_BINDIR} 82d86ed7fbStbbdev COMPONENT tbb4py 83d86ed7fbStbbdev ARCHIVE 84d86ed7fbStbbdev DESTINATION ${CMAKE_INSTALL_LIBDIR} 85d86ed7fbStbbdev COMPONENT tbb4py) 86