123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- cmake_minimum_required(VERSION 3.2)
- cmake_policy(SET CMP0063 NEW)
- project(Visibility)
- add_library(hidden1 SHARED hidden.c)
- set_property(TARGET hidden1 PROPERTY C_VISIBILITY_PRESET hidden)
- add_library(hidden_object OBJECT hidden.c)
- set_property(TARGET hidden_object PROPERTY C_VISIBILITY_PRESET hidden)
- set_property(TARGET hidden_object PROPERTY POSITION_INDEPENDENT_CODE ON)
- add_library(hidden_static STATIC hidden.c)
- set_property(TARGET hidden_static PROPERTY C_VISIBILITY_PRESET hidden)
- set_property(TARGET hidden_static PROPERTY POSITION_INDEPENDENT_CODE ON)
- add_library(hidden2 SHARED $<TARGET_OBJECTS:hidden_object> shared.c)
- add_library(hidden3 SHARED shared.c)
- target_link_libraries(hidden3 hidden_static)
- foreach(t
- hidden1
- hidden2
- hidden3
- )
- add_custom_command(TARGET ${t} POST_BUILD
- COMMAND ${CMAKE_COMMAND}
- -DCMAKE_NM=${CMAKE_NM}
- -DTEST_LIBRARY_PATH=$<TARGET_FILE:${t}>
- -P ${CMAKE_CURRENT_SOURCE_DIR}/verify.cmake
- )
- endforeach()
- add_library(inlines_hidden1 SHARED foo.cpp bar.c)
- set_property(TARGET inlines_hidden1 PROPERTY VISIBILITY_INLINES_HIDDEN ON)
- target_compile_options(inlines_hidden1 PRIVATE -Werror)
- add_library(inlines_hidden_object OBJECT foo.cpp bar.c)
- set_property(TARGET inlines_hidden_object PROPERTY VISIBILITY_INLINES_HIDDEN ON)
- set_property(TARGET inlines_hidden_object PROPERTY POSITION_INDEPENDENT_CODE ON)
- target_compile_options(inlines_hidden_object PRIVATE -Werror)
- add_library(inlines_hidden_static STATIC foo.cpp bar.c)
- set_property(TARGET inlines_hidden_static PROPERTY VISIBILITY_INLINES_HIDDEN ON)
- set_property(TARGET inlines_hidden_static PROPERTY POSITION_INDEPENDENT_CODE ON)
- target_compile_options(inlines_hidden_static PRIVATE -Werror)
- add_library(inlines_hidden2 SHARED $<TARGET_OBJECTS:inlines_hidden_object> shared.cpp)
- add_library(inlines_hidden3 SHARED shared.cpp)
- target_link_libraries(inlines_hidden3 inlines_hidden_static)
- foreach(t
- inlines_hidden1
- inlines_hidden2
- inlines_hidden3
- )
- add_custom_command(TARGET ${t} POST_BUILD
- COMMAND ${CMAKE_COMMAND}
- -DCMAKE_NM=${CMAKE_NM}
- -DTEST_LIBRARY_PATH=$<TARGET_FILE:${t}>
- -P ${CMAKE_CURRENT_SOURCE_DIR}/verify.cmake
- )
- endforeach()
|