aboutsummaryrefslogtreecommitdiff
path: root/scripts/toolchains
diff options
context:
space:
mode:
authorJoakim L. Gilje <jgilje@jgilje.net>2020-11-23 18:43:23 +0100
committerGitHub <noreply@github.com>2020-11-23 09:43:23 -0800
commitd9633d939c665e527f8bda22669f543f03540b17 (patch)
tree0cfe4b406fa116b4d962952f93781a3d65840232 /scripts/toolchains
parent42456b785a4508386f080ae8fad2642e056b747d (diff)
downloadvcpkg-d9633d939c665e527f8bda22669f543f03540b17.tar.gz
vcpkg-d9633d939c665e527f8bda22669f543f03540b17.zip
[vcpkg] initial openbsd (community) support (#14549)
* initial openbsd support in vcpkg * after clang-format * hardcoded in the preferred compiler for openbsd in bootstrap scipt (thanks @tormfinn) * Fetch a patched pkg-config because openbsd pkg-config lacks {fcfiledir} * fixes from review feedback * corrected hash for pkg-config.openbsd * re-added missing endif() * regenerate docs * Update scripts/cmake/vcpkg_configure_meson.cmake Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
Diffstat (limited to 'scripts/toolchains')
-rw-r--r--scripts/toolchains/openbsd.cmake32
1 files changed, 32 insertions, 0 deletions
diff --git a/scripts/toolchains/openbsd.cmake b/scripts/toolchains/openbsd.cmake
new file mode 100644
index 000000000..9eb8f3a0b
--- /dev/null
+++ b/scripts/toolchains/openbsd.cmake
@@ -0,0 +1,32 @@
+if(NOT _VCPKG_OPENBSD_TOOLCHAIN)
+set(_VCPKG_OPENBSD_TOOLCHAIN 1)
+
+if(CMAKE_HOST_SYSTEM_NAME STREQUAL "OpenBSD")
+ set(CMAKE_CROSSCOMPILING OFF CACHE BOOL "")
+endif()
+set(CMAKE_SYSTEM_NAME OpenBSD CACHE STRING "")
+
+if(NOT DEFINED CMAKE_CXX_COMPILER)
+ set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
+endif()
+if(NOT DEFINED CMAKE_C_COMPILER)
+ set(CMAKE_C_COMPILER "/usr/bin/clang")
+endif()
+
+get_property( _CMAKE_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE )
+if(NOT _CMAKE_IN_TRY_COMPILE)
+ string(APPEND CMAKE_C_FLAGS_INIT " -fPIC ${VCPKG_C_FLAGS} ")
+ string(APPEND CMAKE_CXX_FLAGS_INIT " -fPIC ${VCPKG_CXX_FLAGS} ")
+ string(APPEND CMAKE_C_FLAGS_DEBUG_INIT " ${VCPKG_C_FLAGS_DEBUG} ")
+ string(APPEND CMAKE_CXX_FLAGS_DEBUG_INIT " ${VCPKG_CXX_FLAGS_DEBUG} ")
+ string(APPEND CMAKE_C_FLAGS_RELEASE_INIT " ${VCPKG_C_FLAGS_RELEASE} ")
+ string(APPEND CMAKE_CXX_FLAGS_RELEASE_INIT " ${VCPKG_CXX_FLAGS_RELEASE} ")
+
+ string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " ${VCPKG_LINKER_FLAGS} ")
+ string(APPEND CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ")
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT " ${VCPKG_LINKER_FLAGS_DEBUG} ")
+ string(APPEND CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ")
+ string(APPEND CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT " ${VCPKG_LINKER_FLAGS_RELEASE} ")
+endif(NOT _CMAKE_IN_TRY_COMPILE)
+endif(NOT _VCPKG_OPENBSD_TOOLCHAIN)