xref: /aosp_15_r20/external/fmtlib/test/static-export-test/CMakeLists.txt (revision 5c90c05cd622c0a81b57953a4d343e0e489f2e08)
1cmake_minimum_required(VERSION 3.8...3.25)
2
3project(fmt-link CXX)
4
5set(BUILD_SHARED_LIBS OFF)
6set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE)
7set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
8
9# Broken LTO on GCC 4
10if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)
11  set(BROKEN_LTO ON)
12endif ()
13
14if (NOT BROKEN_LTO AND CMAKE_VERSION VERSION_GREATER "3.8")
15  # CMake 3.9+
16  include(CheckIPOSupported)
17  check_ipo_supported(RESULT HAVE_IPO)
18  if (HAVE_IPO)
19    set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
20  endif ()
21endif ()
22
23add_subdirectory(../.. fmt)
24set_property(TARGET fmt PROPERTY POSITION_INDEPENDENT_CODE ON)
25
26add_library(library-test SHARED library.cc)
27target_link_libraries(library-test PRIVATE fmt::fmt)
28
29add_executable(exe-test main.cc)
30target_link_libraries(exe-test PRIVATE library-test)
31