diff --git a/cmake/HalideTestHelpers.cmake b/cmake/HalideTestHelpers.cmake index 898ac399110a..808d4f675d55 100644 --- a/cmake/HalideTestHelpers.cmake +++ b/cmake/HalideTestHelpers.cmake @@ -102,13 +102,6 @@ function(add_halide_test TARGET) set_tests_properties(${TARGET} PROPERTIES PASS_REGULAR_EXPRESSION "Success!") endif () - set_target_properties(${TARGET} - PROPERTIES - CXX_VISIBILITY_PRESET hidden - VISIBILITY_INLINES_HIDDEN TRUE - ) - - if (WITH_SERIALIZATION AND WITH_SERIALIZATION_JIT_ROUNDTRIP_TESTING) if (NOT Halide_TARGET MATCHES "wasm") target_compile_definitions(${TARGET} PRIVATE WITH_SERIALIZATION_JIT_ROUNDTRIP_TESTING) diff --git a/src/autoschedulers/CMakeLists.txt b/src/autoschedulers/CMakeLists.txt index 631c1898b18c..1d70b3c29f00 100644 --- a/src/autoschedulers/CMakeLists.txt +++ b/src/autoschedulers/CMakeLists.txt @@ -2,7 +2,7 @@ # Everything else should be omitted to keep binary size low. set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS OFF) set(CMAKE_CXX_VISIBILITY_PRESET hidden) -set(CMAKE_VISIBILITY_INLINES_HIDDEN YES) +set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE) function(add_autoscheduler) set(options) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index d828dc251994..ce2fedf56bba 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,6 +1,15 @@ include(HalideTestHelpers) include(CheckCXXCompilerFlag) +# All test targets in this directory (and its subdirectories) must be built +# with the same visibility settings, since they reuse a common precompiled +# header via target_precompile_headers(REUSE_FROM) -- otherwise +# Clang rejects the PCH with "default visibility for functions and variables +# differs in PCH file vs. current file". +set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS OFF) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE) + # _test_internal is not itself a test; it exists purely so that the other # test executables below can reuse its precompiled header via # target_precompile_headers(REUSE_FROM). HalideTestHelpers depends on this