build: add tbbmalloc

This commit is contained in:
Eric Wasylishen 2022-08-09 00:19:39 -06:00
parent 30b529b70f
commit f3b9de57c6
7 changed files with 30 additions and 10 deletions

View File

@ -3,6 +3,8 @@ target_link_libraries(bspinfo common fmt::fmt)
# HACK: copy .dll dependencies
add_custom_command(TARGET bspinfo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:bspinfo>")
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:bspinfo>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbbmalloc>" "$<TARGET_FILE_DIR:bspinfo>"
)
install(TARGETS bspinfo RUNTIME DESTINATION bin)

View File

@ -4,10 +4,12 @@ set(BSPUTIL_SOURCES
decompile.cpp)
add_executable(bsputil ${BSPUTIL_SOURCES})
target_link_libraries(bsputil common TBB::tbb fmt::fmt)
target_link_libraries(bsputil common TBB::tbb TBB::tbbmalloc fmt::fmt)
# HACK: copy .dll dependencies
add_custom_command(TARGET bsputil POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:bsputil>")
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:bsputil>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbbmalloc>" "$<TARGET_FILE_DIR:bsputil>"
)
install(TARGETS bsputil RUNTIME DESTINATION bin)

View File

@ -35,4 +35,4 @@ add_library(common STATIC
${CMAKE_SOURCE_DIR}/include/common/prtfile.hh
${CMAKE_SOURCE_DIR}/include/common/vectorutils.hh)
target_link_libraries(common ${CMAKE_THREAD_LIBS_INIT} TBB::tbb fmt::fmt nlohmann_json::nlohmann_json)
target_link_libraries(common ${CMAKE_THREAD_LIBS_INIT} TBB::tbb TBB::tbbmalloc fmt::fmt nlohmann_json::nlohmann_json)

View File

@ -75,7 +75,9 @@ if (embree_FOUND)
add_custom_command(TARGET light POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:embree>" "$<TARGET_FILE_DIR:light>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:light>")
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:light>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbbmalloc>" "$<TARGET_FILE_DIR:light>"
)
if (NOT EMBREE_LICENSE STREQUAL EMBREE_LICENSE-NOTFOUND)
add_custom_command(TARGET light POST_BUILD
@ -103,9 +105,18 @@ if (embree_FOUND)
message(STATUS "TBB .so file: ${TBB_SO_FILE}")
install(FILES ${TBB_SO_FILE} DESTINATION bin)
# tbbmalloc
get_target_property(TBBMALLOC_SO_FILE_SYMLINK TBB::tbbmalloc IMPORTED_LOCATION_RELEASE)
get_filename_component(TBBMALLOC_SO_FILE "${TBBMALLOC_SO_FILE_SYMLINK}" REALPATH)
message(STATUS "TBBMALLOC .so file: ${TBBMALLOC_SO_FILE}")
install(FILES ${TBBMALLOC_SO_FILE} DESTINATION bin)
else()
# preferred method
install(FILES $<TARGET_FILE:TBB::tbb> DESTINATION bin)
install(FILES $<TARGET_FILE:TBB::tbbmalloc> DESTINATION bin)
endif()
if (NOT EMBREE_LICENSE STREQUAL EMBREE_LICENSE-NOTFOUND)

View File

@ -31,7 +31,7 @@ set(QBSP_SOURCES
${QBSP_INCLUDES})
add_library(libqbsp STATIC ${QBSP_SOURCES})
target_link_libraries(libqbsp common ${CMAKE_THREAD_LIBS_INIT} TBB::tbb fmt::fmt nlohmann_json::nlohmann_json pareto)
target_link_libraries(libqbsp common ${CMAKE_THREAD_LIBS_INIT} TBB::tbb TBB::tbbmalloc fmt::fmt nlohmann_json::nlohmann_json pareto)
add_executable(qbsp main.cc)
target_link_libraries(qbsp libqbsp)
@ -40,4 +40,5 @@ install(TARGETS qbsp RUNTIME DESTINATION bin)
# HACK: copy .dll dependencies
add_custom_command(TARGET qbsp POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:qbsp>")
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:qbsp>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbbmalloc>" "$<TARGET_FILE_DIR:qbsp>")

View File

@ -23,12 +23,14 @@ if (NOT EMBREE_TBB_DLL STREQUAL EMBREE_TBB_DLL-NOTFOUND)
message(STATUS "Found embree EMBREE_TBB_DLL: ${EMBREE_TBB_DLL}")
endif()
target_link_libraries(tests libqbsp liblight libvis common TBB::tbb Catch2::Catch2WithMain fmt::fmt nanobench::nanobench)
target_link_libraries(tests libqbsp liblight libvis common TBB::tbb TBB::tbbmalloc Catch2::Catch2WithMain fmt::fmt nanobench::nanobench)
# HACK: copy .dll dependencies
add_custom_command(TARGET tests POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:embree>" "$<TARGET_FILE_DIR:tests>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:tests>")
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:tests>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbbmalloc>" "$<TARGET_FILE_DIR:tests>"
)
if (NOT EMBREE_TBB_DLL STREQUAL EMBREE_TBB_DLL-NOTFOUND)
add_custom_command(TARGET tests POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${EMBREE_TBB_DLL}" "$<TARGET_FILE_DIR:tests>")

View File

@ -23,6 +23,8 @@ target_link_libraries(vis PRIVATE common libvis)
# HACK: copy .dll dependencies
add_custom_command(TARGET vis POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:vis>")
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbb>" "$<TARGET_FILE_DIR:vis>"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:TBB::tbbmalloc>" "$<TARGET_FILE_DIR:vis>"
)
install(TARGETS vis RUNTIME DESTINATION bin)