mirror of
https://github.com/reactos/CMake.git
synced 2024-12-13 22:58:41 +00:00
700f1c3b2b
The <LANG>_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN were first merged in commit v2.8.12~322 (Merge topic 'VISIBILITY_PRESET-property', 2013-06-05) but worked only for shared libraries and executables with exports. Prior to commit v3.0.0-rc1~581^2 (GenerateExportHeader: Deprecate add_compiler_export_flags function., 2013-09-02) the add_compiler_export_flags function was used to add visibility flags to all targets. The visibility flags are useful for sources in all target types because they may be later linked into shared libraries or executables with exports. Introduce policy CMP0063 to enable them for all target types while preserving compatibility with existing projects that do not expect this.
15 lines
406 B
CMake
15 lines
406 B
CMake
execute_process(COMMAND ${CMAKE_NM} -D ${TEST_LIBRARY_PATH}
|
|
RESULT_VARIABLE RESULT
|
|
OUTPUT_VARIABLE OUTPUT
|
|
ERROR_VARIABLE ERROR
|
|
)
|
|
|
|
if(NOT "${RESULT}" STREQUAL "0")
|
|
message(FATAL_ERROR "nm failed [${RESULT}] [${OUTPUT}] [${ERROR}]")
|
|
endif()
|
|
|
|
if(${OUTPUT} MATCHES "(Foo[^\\n]*bar|hidden_function)")
|
|
message(FATAL_ERROR
|
|
"Found ${CMAKE_MATCH_1} which should have been hidden [${OUTPUT}]")
|
|
endif()
|