mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-19 18:45:43 +00:00
1bfcce19dd
Consumers of VTK-m when enabling of dropping of unused functions will see VTK-m functions dropped. Previously this didn't happen as VTK-m didn't build object files with the correct flags for this. By allowing the linker to remove unused symbols we see a significant saving the file size of VTK-m tests, examples, and benchmarks. An OpenMP build of the tests and benchmarks goes from 168MB to 141MB which is roughly a 16% filesize reduction. Initially I had presumed that these changes would increase link times. But in measurements the total wall time for compilation of VTK-m has stayed about the same ( seeing a decrease of 1.5% ). Presumably the increased computation is offset by the reduction in file writing.
38 lines
1.4 KiB
CMake
38 lines
1.4 KiB
CMake
##=============================================================================
|
|
##
|
|
## Copyright (c) Kitware, Inc.
|
|
## All rights reserved.
|
|
## See LICENSE.txt for details.
|
|
##
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
##
|
|
## Copyright 2015 National Technology & Engineering Solutions of Sandia, LLC (NTESS).
|
|
## Copyright 2015 UT-Battelle, LLC.
|
|
## Copyright 2015 Los Alamos National Security.
|
|
##
|
|
## Under the terms of Contract DE-NA0003525 with NTESS,
|
|
## the U.S. Government retains certain rights in this software.
|
|
## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
|
|
## Laboratory (LANL), the U.S. Government retains certain rights in
|
|
## this software.
|
|
##
|
|
##=============================================================================
|
|
cmake_minimum_required(VERSION 3.8...3.15 FATAL_ERROR)
|
|
project(MeshQuality CXX)
|
|
|
|
#Find the VTK-m package
|
|
find_package(VTKm REQUIRED QUIET)
|
|
|
|
add_executable(MeshQuality MeshQuality.cxx)
|
|
target_link_libraries(MeshQuality PRIVATE vtkm_filter)
|
|
|
|
if(TARGET vtkm::tbb)
|
|
target_compile_definitions(MeshQuality PRIVATE BUILDING_TBB_VERSION)
|
|
endif()
|
|
|
|
vtkm_add_target_information(MeshQuality
|
|
DROP_UNUSED_SYMBOLS MODIFY_CUDA_FLAGS
|
|
DEVICE_SOURCES MeshQuality.cxx)
|