summaryrefslogtreecommitdiff
path: root/math/geogram/files/patch-cmake_platforms_FreeBSD.cmake
blob: 38681a1895f9f792ad9dc7ce95e72e6b182749f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--- cmake/platforms/FreeBSD.cmake.orig	2018-12-09 17:30:49 UTC
+++ cmake/platforms/FreeBSD.cmake
@@ -0,0 +1,23 @@
+###
+### Adopted from cmake/platforms/Linux.cmake
+###
+
+#-------------------------------------------------------------------
+# Flags common to all Linux based platforms
+#-------------------------------------------------------------------
+
+# Shell script extension
+set(SHELL_SUFFIX "sh")
+
+# This flag MUST be added to solve a bug related to shared lib dynamic loading
+# (std::type_infos representing the same template type do not compare equal,
+# introducing subtle bugs)
+# IMPORTANT: DO NOT ADD THIS FLAG WITH STATIC LINKING
+#add_flags(CMAKE_EXE_LINKER_FLAGS "-Wl,-E")
+
+# Forbid undefined symbols at link time (shared libraries and executables)
+add_flags(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined")
+add_flags(CMAKE_EXE_LINKER_FLAGS "-Wl,--no-undefined")
+
+# Link with the loader library
+list(APPEND SYSLIBS ${CMAKE_DL_LIBS})