aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cmake: disable default NDEBUG differentlyViktor Szakats2024-03-131-2/+7
| | | | | | | | | | | Before this patch `NDEBUG` was force-disabled, preventing a build with debug asserts disabled. After this patch `NDEBUG` works again when passed as a custom build option, e.g.: `-DCMAKE_C_FLAGS=-DNDEBUG` Previously submitted as #988, which was merged, but the commit vanished from master and ended up missing from both 3.8.3 and 3.9.0 releases.
* Windows: Improve the check for endianness when using Visual Studio.Christian Andersen2024-03-031-0/+9
| | | | | | | | Visual studio does not define __BYTE_ORDER__ so all architectures were detected as LITTLE_ENDIAN since both __BYTE_ORDER__ and __ORDER_LITTLE_ENDIAN__ would evaluate to 0 and compare equal. This updates the checks to use CMakes detection of endianness, with a hard error, if this also fails.
* Windows: Don't set -Wall when compiling with Visual Studio.Christian Andersen2024-03-031-2/+2
| | | | | As it enables a lot of spammed warnings that are not part of W4. This reduces the warnings a lot when compiling LibreSSL in CLion for me.
* cmake: disable ASM for Windows ARM64Viktor Szakats2024-03-031-0/+3
| | | | | With ASM support the builds either exit with an assert or hang (with asserts disabled).
* Fix timingsafe memcmp detectionTheo Buehler2024-03-031-2/+2
|
* cmake: limit some macros to mingwViktor Szakats2024-03-031-5/+7
| | | | | | Syncing this up with autotools. Also use the built-in `MINGW` variable.
* cmake: auto-detect `strtonum`Viktor Szakats2024-03-031-0/+5
| | | | | | | | | | | | | | Notice that just like in autotools, this detection also doesn't take into account the targeted OS version. Meaning it detects `strtonum` even if targeting e.g. macOS older than release v11 Big Sur (which introduced this funcitions), if the SDK declares it. Wrong detection will either cause a binary broken on older macOS and/or trigger compiler warnings. Ref: https://github.com/libressl/portable/issues/928#issuecomment-1850178282 Ref: https://github.com/libressl/portable/issues/928#issuecomment-1850276298 Prerequisite: https://github.com/libressl/portable/issues/928#issuecomment-1850356408
* Land #938, cmake: simplify if expressions, accept CPU values more consistentlyBrent Cook2023-11-071-19/+19
|\
| * always check `CMAKE_SYSTEM_PROCESSOR` with `MATCHES`Viktor Szakats2023-11-071-4/+4
| | | | | | | | | | | | This makes it accept values consistently. Before this patch mingw-w64, Apple and SunOS did not accept a CPU if it had a suffix or prefix (e.g. a triplet), while other targets did.
| * simplify `MATCHES`/`STREQUAL` syntaxViktor Szakats2023-11-071-19/+19
| |
* | cmake: stop passing unused C macrosViktor Szakats2023-11-071-1/+1
|/ | | | | | | | - `-DCPPFLAGS`: probably a copy-paste typo from the initial CMake commit. - `-DNO_CRYPT`: `NO_CRYPT` is no longer used in the source and this macro is no longer set by autotools.
* cmake: fix arm64 to not trigger armv4 ASMViktor Szakats2023-11-071-1/+2
| | | | | Reported here: https://github.com/libressl/portable/pull/935#issuecomment-1798345787
* Land #932, use existing crypto/ssl libs for tls testsBrent Cook2023-11-051-1/+1
|\
| * slim `tls-static` library (used in tests)Viktor Szakats2023-11-041-1/+1
| | | | | | | | | | | | | | | | | | Instead of including a full copy of libcrypto and libssl in libtls-static, link existing libcrytpo-static and libssl-static to the test targets. This wasn't causing any issue, just unnecessarily duplicating a lot of objects.
* | also fix ocspcheck and nc, dedupe build logicViktor Szakats2023-11-051-6/+12
|/
* reenable assembly for MSVCBrent Cook2023-10-301-3/+0
|
* adjust how sizeof time_t is set, the current way causes issues with MSVC ↵Brent Cook2023-10-291-1/+0
| | | | 2022's preprocessor
* Land #913, CMake build fixesBrent Cook2023-10-291-2/+2
|\
| * Consistently use CMAKE_CURRENT_BINARY_DIRMarc Aldorasi2023-09-121-2/+2
| |
* | disable MSVC x64 asmBrent Cook2023-10-291-0/+3
| |
* | remove unneeded switch for MSVC, cleanup comment alignmentBrent Cook2023-10-291-10/+6
| |
* | Fix processor detection in CMakeLists.txtJiajie Chen2023-09-041-10/+10
|/
* enable asserts regardless of build typeBrent Cook2023-08-291-0/+7
|
* Move `LibreSSL/` to `LIBRESSL_INSTALL_CMAKEDIR`.Pierre Wendling2023-08-191-3/+3
| | | | | This allows users to install the CMake configs without forcing a `LibreSSL` directory after `LIBRESSL_INSTALL_CMAKEDIR`.
* CMake: Export and install library targets.Pierre Wendling2023-08-191-1/+33
| | | | | | | | The configs can be consumed by setting LibreSSL_DIR to the build directory, or after installation using CMAKE_PREFIX_PATH/LibreSSL_DIR. For compatibility, the EXPORT_NAME of targets and the LIBRESSL_* variables are set to match the names used in FindLibreSSL.
* Land #894, fix to enable ASM support in MinGW buildsBrent Cook2023-08-131-1/+1
|\
| * cmake: fix to use MINGW variable to detect MinGWViktor Szakats2023-08-101-1/+1
| |
* | version is breaking thingsBrent Cook2023-08-131-1/+1
| |
* | set default build type to 'Release'Brent Cook2023-08-131-3/+12
|/
* Remove hard-coded optimization level in CMake buildsBrent Cook2023-07-071-1/+1
| | | | | Fixes #683. These are not compiler-agnostic, and can interfere with user overrides as well. The defaults in Cmake are reasonable.
* Land #886, add compat getopt implementationBrent Cook2023-07-071-0/+5
|\
| * add compat getopt implementation, remove patchesBrent Cook2023-07-071-0/+5
| | | | | | | | | | | | | | | | | | This adds a getopt implementation for compatibility where it is not available, removing a couple of regress patches. Note, this is a slightly modified copy from OpenBSD libc that doesn't expose getopt_long, which has dependency conflicts with Windows system headers and isn't needed anyway.
* | change socket / file descriptor checks on windowsBrent Cook2023-07-061-1/+1
|/ | | | | | | | | | | based on discussion in https://github.com/libressl/portable/issues/266 and https://bugs.python.org/issue23524 adjust the compat layer for Windows to use _get_osfhandle in combination with _set_thread_local_invalid_parameter_handler if applicable to more reliably determine if a handle is a socket, file, or closed socket. This prevents assertions when calling tls_close on an already-closed socket.
* make cross compilation possible on macOS with CMakeBrent Cook2023-07-041-0/+9
| | | | | | Sync CMAKE_SYSTEM_PROCESSOR to CMAKE_OSX_ARCHITECTURES. This doesn't support universal binaries, but does allow cross-compiling for a single architecture by setting -DCMAKE_OSX_ARCHITECTURES=(arm64|x86_64)
* fix asm on x86_64 macosBrent Cook2023-05-261-1/+1
|
* Disable assembly on macos for nowTheo Buehler2023-04-251-1/+1
|
* handle i?86 for 32-bit CMake buildsBrent Cook2023-02-271-1/+2
|
* set CMAKE_SYSTEM_PROCESSOR when cross compilingBrent Cook2023-02-271-4/+4
| | | | handle x86 as option for 32-bit x86 on Windows
* reenable aarch64 asm for macosBrent Cook2023-02-251-2/+0
|
* only disable asm on aarch64 for now, enable for other archsBrent Cook2023-02-231-3/+1
|
* generally disable asm for nowBrent Cook2023-02-211-1/+4
|
* disable BN ASM for aarch64 for now (fails tests)Brent Cook2023-02-211-0/+1
|
* generate and include arch-specific headers for CMake buildsBrent Cook2023-02-211-1/+27
|
* Detect machine/endian.h for macOSJiajie Chen2022-07-121-0/+5
|
* Add libmd as platform specific libraries for Solariskinichiro2022-01-171-1/+1
|
* adjust cmake check to include dependencies for netinet/ip.hBrent Cook2021-11-301-1/+1
|
* Build static library for regression tests when shared build with CMakekinichiro2021-11-271-0/+9
|
* Update CMake for new header checksBrent Cook2021-11-091-0/+10
|
* Land #694, Add the option for Apple-style xcframework librariesBrent Cook2021-11-091-0/+13
|\
| * Add the option to support an Apple-style xcframework for tls, ssl, and cryptoCameron Lowell Palmer2021-10-151-0/+13
| |