Browse Source

BSD: Set *BSD variables when targeting a *BSD system

Fixes: #23853
Cristian Adam 3 years ago
parent
commit
a20d7a9707

+ 5 - 0
Help/manual/cmake-variables.7.rst

@@ -301,6 +301,7 @@ Variables that Describe the System
    /variable/ANDROID
    /variable/APPLE
    /variable/BORLAND
+   /variable/BSD
    /variable/CMAKE_ANDROID_NDK_VERSION
    /variable/CMAKE_CL_64
    /variable/CMAKE_COMPILER_2005
@@ -320,6 +321,8 @@ Variables that Describe the System
    /variable/CMAKE_SYSTEM_PROCESSOR
    /variable/CMAKE_SYSTEM_VERSION
    /variable/CYGWIN
+   /variable/DRAGONFLYBSD
+   /variable/FREEBSD
    /variable/GHSMULTI
    /variable/IOS
    /variable/LINUX
@@ -338,6 +341,8 @@ Variables that Describe the System
    /variable/MSVC_TOOLSET_VERSION
    /variable/MSVC_VERSION
    /variable/MSYS
+   /variable/NETBSD
+   /variable/OPENBSD
    /variable/UNIX
    /variable/WIN32
    /variable/WINCE

+ 9 - 0
Help/release/dev/bsd-variables.rst

@@ -0,0 +1,9 @@
+bsd-variables
+-------------
+
+* The :variable:`BSD` variable is set to true when the target system
+  is BSD (DragonFlyBSD, FreeBSD, OpenBSD, or NetBSD)
+* The :variable:`DRAGONFLYBSD` variable is set to true when the target system is DragonFlyBSD.
+* The :variable:`FREEBSD` variable is set to true when the target system is FreeBSD.
+* The :variable:`NETBSD` variable is set to true when the target system is NetBSD.
+* The :variable:`OPENBSD` variable is set to true when the target system is OpenBSD.

+ 6 - 0
Help/variable/BSD.rst

@@ -0,0 +1,6 @@
+BSD
+---
+
+.. versionadded:: 3.25
+
+Set to true when the target system is BSD (DragonFlyBSD, FreeBSD, OpenBSD, or NetBSD)

+ 6 - 0
Help/variable/DRAGONFLYBSD.rst

@@ -0,0 +1,6 @@
+DRAGONFLYBSD
+------------
+
+.. versionadded:: 3.25
+
+Set to true when the target system is DragonFlyBSD.

+ 6 - 0
Help/variable/FREEBSD.rst

@@ -0,0 +1,6 @@
+FREEBSD
+-------
+
+.. versionadded:: 3.25
+
+Set to true when the target system is FreeBSD.

+ 6 - 0
Help/variable/NETBSD.rst

@@ -0,0 +1,6 @@
+NETBSD
+------
+
+.. versionadded:: 3.25
+
+Set to true when the target system is NetBSD.

+ 6 - 0
Help/variable/OPENBSD.rst

@@ -0,0 +1,6 @@
+OPENBSD
+-------
+
+.. versionadded:: 3.25
+
+Set to true when the target system is OpenBSD.

+ 2 - 0
Modules/Platform/DragonFly.cmake

@@ -3,6 +3,8 @@
 # see http://archive.netbsd.se/?ml=dfbsd-users&a=2007-07&m=4678361
 
 include(Platform/FreeBSD)
+unset(FREEBSD)
+set(DRAGONFLYBSD 1)
 
 # DragonFly BSD requires -z origin to enable $ORIGIN expansion in RPATH.
 # This is not required for FreeBSD since 10.2-RELEASE.

+ 2 - 0
Modules/Platform/FreeBSD.cmake

@@ -1,3 +1,5 @@
+set(FREEBSD 1)
+set(BSD 1)
 set(CMAKE_DL_LIBS "")
 set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
 set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")

+ 2 - 0
Modules/Platform/NetBSD.cmake

@@ -1,3 +1,5 @@
+set(NETBSD 1)
+set(BSD 1)
 set(CMAKE_DL_LIBS "")
 set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
 set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")

+ 2 - 0
Modules/Platform/OpenBSD.cmake

@@ -1,4 +1,6 @@
 include(Platform/NetBSD)
+unset(NETBSD)
+set(OPENBSD 1)
 
 # On OpenBSD, the compile time linker does not share it's configuration with
 # the runtime linker.  This will extract the library search paths from the