summaryrefslogtreecommitdiffstats
path: root/src/fmt/test/static-export-test/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/fmt/test/static-export-test/CMakeLists.txt')
-rw-r--r--src/fmt/test/static-export-test/CMakeLists.txt30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/fmt/test/static-export-test/CMakeLists.txt b/src/fmt/test/static-export-test/CMakeLists.txt
new file mode 100644
index 000000000..7690d7b5a
--- /dev/null
+++ b/src/fmt/test/static-export-test/CMakeLists.txt
@@ -0,0 +1,30 @@
+cmake_minimum_required(VERSION 3.1...3.18)
+
+project(fmt-link CXX)
+
+set(BUILD_SHARED_LIBS OFF)
+set(CMAKE_VISIBILITY_INLINES_HIDDEN TRUE)
+set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
+
+# Broken LTO on GCC 4
+if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5)
+ set(BROKEN_LTO ON)
+endif ()
+
+if (NOT BROKEN_LTO AND CMAKE_VERSION VERSION_GREATER "3.8")
+ # CMake 3.9+
+ include(CheckIPOSupported)
+ check_ipo_supported(RESULT HAVE_IPO)
+ if (HAVE_IPO)
+ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
+ endif ()
+endif ()
+
+add_subdirectory(../.. fmt)
+set_property(TARGET fmt PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+add_library(library-test SHARED library.cc)
+target_link_libraries(library-test PRIVATE fmt::fmt)
+
+add_executable(exe-test main.cc)
+target_link_libraries(exe-test PRIVATE library-test)