CMakeLists.txt


Log

Author Commit Date CI Message
Brent Cook ce79c964 2023-10-29T12:34:01 Land #913, CMake build fixes
Brent Cook 321fa56d 2023-10-09T01:30:00 disable MSVC x64 asm
Brent Cook fca20b23 2023-10-02T03:31:24 remove unneeded switch for MSVC, cleanup comment alignment
Marc Aldorasi 46635430 2023-09-12T15:07:51 Consistently use CMAKE_CURRENT_BINARY_DIR
Jiajie Chen 70688874 2023-09-04T09:05:45 Fix processor detection in CMakeLists.txt
Brent Cook f4059e47 2023-08-28T00:40:11 enable asserts regardless of build type
Pierre Wendling 86a6826f 2023-08-15T11:08:06 Move `LibreSSL/` to `LIBRESSL_INSTALL_CMAKEDIR`. This allows users to install the CMake configs without forcing a `LibreSSL` directory after `LIBRESSL_INSTALL_CMAKEDIR`.
Pierre Wendling a89cd659 2023-08-06T15:07:31 CMake: Export and install library targets. 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.
Brent Cook ca8ea652 2023-08-13T23:23:23 Land #894, fix to enable ASM support in MinGW builds
Brent Cook 7e59829f 2023-08-13T23:02:24 version is breaking things
Brent Cook 125c54cd 2023-07-27T06:10:20 set default build type to 'Release'
Viktor Szakats 5c63ba97 2023-08-06T18:13:51 cmake: fix to use MINGW variable to detect MinGW
Brent Cook 00fc21e8 2023-07-07T18:28:06 Remove hard-coded optimization level in CMake builds Fixes #683. These are not compiler-agnostic, and can interfere with user overrides as well. The defaults in Cmake are reasonable.
Brent Cook 51368394 2023-07-07T04:32:20 Land #886, add compat getopt implementation
Brent Cook 7463f87c 2023-07-07T11:46:21 add compat getopt implementation, remove patches 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.
Brent Cook afcd4be8 2023-07-06T20:32:34 change socket / file descriptor checks on windows 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.
Brent Cook 2203c13d 2023-07-04T12:36:57 make cross compilation possible on macOS with CMake 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)
Brent Cook 419fbd6f 2023-05-26T21:51:56 fix asm on x86_64 macos
Theo Buehler 94763de5 2023-04-25T11:47:02 Disable assembly on macos for now
Brent Cook ab214b56 2023-02-27T07:26:07 handle i?86 for 32-bit CMake builds
Brent Cook b0310cb3 2023-02-27T05:48:23 set CMAKE_SYSTEM_PROCESSOR when cross compiling handle x86 as option for 32-bit x86 on Windows
Brent Cook a0a6e7bd 2023-02-25T10:34:43 reenable aarch64 asm for macos
Brent Cook a498c6a7 2023-02-23T08:31:31 only disable asm on aarch64 for now, enable for other archs
Brent Cook 4bcb537a 2023-02-21T01:13:29 generally disable asm for now
Brent Cook 5a695723 2023-02-21T01:13:08 disable BN ASM for aarch64 for now (fails tests)
Brent Cook 8fc30eca 2023-02-21T00:25:04 generate and include arch-specific headers for CMake builds
Jiajie Chen ef2d6c70 2022-07-12T22:29:39 Detect machine/endian.h for macOS
kinichiro 9a18f424 2022-01-17T19:04:23 Add libmd as platform specific libraries for Solaris
Brent Cook 549ead1f 2021-11-30T10:58:12 adjust cmake check to include dependencies for netinet/ip.h
kinichiro 870a1ebb 2021-11-27T20:57:14 Build static library for regression tests when shared build with CMake
Brent Cook 2ac3d32e 2021-11-09T23:04:29 Update CMake for new header checks
Brent Cook b3b08741 2021-11-09T07:08:46 Land #694, Add the option for Apple-style xcframework libraries
Tobias Heider 2d853ecf 2021-11-06T23:31:26 Don't install pkgconfig if ENABLE_LIBRESSL_INSTALL is disabled.
Cameron Lowell Palmer 6318b4ec 2021-10-15T09:29:03 Add the option to support an Apple-style xcframework for tls, ssl, and crypto
Tobias Heider 7072a55b 2021-07-19T15:10:49 Add -DHAVE_GNU_STACK on ELF platforms to enable non-executable stack annotations for the GNU toolchain.
kinichiro b25111c2 2021-05-29T20:23:04 Fix UWP build - Do not set _WIN32_WINNT to enable VirtualAllocFromApp - Disable tlstest since SetHandleInformation is not supported on UWP
Paweł Wegner 21ab7331 2021-05-16T13:52:06 cmake: tweak for clang-cl This change allows libressl to be built with clang-cl.
kinichiro 4c56df46 2021-05-02T15:50:37 Statically link libcrypto/ssl into libtls with cmake
Brent Cook 921c0675 2021-04-05T02:32:35 Add '--enable-libtls-only' build option
Brent Cook df3d4bb5 2020-11-11T05:39:56 Add -lbcrypt to Windows builds for CNG in getentropy
Samuel Marks 12a400c9 2020-05-23T17:16:04 [CMakeLists.txt] Move `project` below `cmake_minimum_required`; fix indentation in its `if`/`else` block; [tap-driver.sh] Copyright line update (was automatic with `./autogen.sh`)
kinichiro 740488d8 2020-05-09T18:46:13 Fix cmake build to enable masm with VS2019 To specify architecture Visual Studio 16 2019 requires -A option, and it is stored in variable CMAKE_GENERATOR_PLATFORM. Until Visual Studio 15 2017, architecture was indicated as part of generator string (e.g. "Visual Studio 15 2017 Win64")
Brent Cook 012014df 2020-05-01T08:31:11 more MSVC build/test tweaks
Brent Cook 13159a59 2020-05-01T04:34:48 make cmake version bump conditional on MSVC
Brent Cook 1c3377ba 2020-05-01T04:09:57 bump cmake and appveyor build environment
OJ 4d07b727 2020-04-20T20:28:48 Force use of 3.15.7
OJ 79fb34a9 2020-04-15T13:12:31 Add support for use of static MSVC runtimes In certain contexts LibreSSL needs to be built with `/MT` instead of `/MD` for inclusion in other projects. These changes allow for the command-line option `USE_STATIC_MSVC_RUNTIMES` to be set to `ON` if the use wishes to generate projects that will build with static runtimes. This feature requires CMAKE version 3.15+, hence the minimum required version has changed as well.
Matthew Albrecht a4338ca1 2019-09-20T15:15:11 Check for existing uninstall target before creating.
kinichiro 30e91bc6 2019-07-14T18:37:59 Enable speed on win32 - Use thread and sleep instead of signal and alarm, on win32 - Disable -multi option on win32 since fork is hard to implement
kinichiro 389145ed 2019-07-09T20:56:17 Fix illegal pkg-config file generated
Brent Cook 0e8b7c1e 2019-06-05T23:08:41 remove comments and unify fixups
kinichiro bbb662b6 2019-05-19T13:20:06 Fix masm build - Fix masm operators and comments - Add -DOPENSSL_NO_ASM only if not 64 bit build - Add -DCMAKE_INSTALL_PREFIX to avoid build error
Stephan Vedder c6f8ca2b 2019-05-15T22:50:01 Enable masm compilation under windows
Brent Cook 53524626 2019-02-09T09:03:13 add __dead__ annotation support
Brent Cook 5269dbb2 2019-01-31T10:00:48 update cmake
Brent Cook 495a1b63 2019-01-21T20:15:30 more masm fixes, but disable for now
Brent Cook 1b2e3576 2019-01-21T15:26:32 a couple of fixes to get MSVC Win64 going again
Brent Cook 6c6b58f6 2019-01-21T11:19:11 use generator to determine if we're building 64-bit code on Windows
Brent Cook 64d9c5d6 2019-01-21T05:24:11 fixes to build asm on MSVS
Brent Cook f553a9fe 2019-01-20T21:18:34 consider masm/mingw assembly flavors from cmake
Brent Cook 7af3ba34 2019-01-06T13:20:29 add configure-time check for timespecsub
Brent Cook c23f7451 2019-01-02T05:36:24 add some defines for building Mingw cross-compiled with CMake
tux3 8fee85b0 2018-12-14T14:38:35 Fix CMake not finding getpagesize for Android 19
Brent Cook f6a8fa53 2018-11-13T13:42:21 don't enable global debug
Brent Cook 9c6e9f09 2018-11-11T00:24:35 initial 32-bit arm assembly optimization support
Brent Cook e7d11baa 2018-11-09T18:29:06 enable optimizations for all cmake builds
kinichiro 0b8343ac 2018-10-05T22:59:44 Fix cmake to generate proper Libs.private in .pc files
kinichiro f819a2bc 2018-10-03T20:35:36 Fix cmake linking libraries
Brent Cook 0974145a 2018-04-06T04:14:33 better separate linux and non-linux checks for clock_gettime
kinichiro 650487db 2018-03-27T21:40:52 Build and run regression tests against shared libraries with CMake
Brent Cook 55c0cacc 2018-03-25T19:21:16 Land #406, use BUILD_SHARED_LIBS
Brent Cook 862cd768 2018-03-23T13:52:12 fix clock_gettime check in cmake
Brent Cook 70e6be3d 2018-03-22T21:43:06 move clock_gettime check out
Don 4d753bad 2018-03-21T11:33:38 Cleanup options around tests
Don 26bebfc5 2018-03-19T19:42:55 Use BUILD_SHARED_LIBS to specify library type
Brent Cook 1b84f79f 2018-03-18T09:53:37 Land #402, Remove CMAKE_HOST_ references
Don 09590953 2018-03-16T14:59:53 Remove CMAKE_HOST_ references CMAKE_HOST_ describes the host system not the target. For cross compilation to work the actual target system should be used for making decisions in CMake.
Don aa60dd89 2018-03-16T14:08:36 Conditionally build apps Add an option to build or not build the apps directory.
Brent Cook 3fb9e63b 2018-03-14T07:29:04 bump base requirement to Windows Vista, use builtin inet_ntop/pton
kinichiro 0ed61809 2018-03-13T23:13:39 Add libpthread for libtls build
kinichiro 9e06be3f 2018-01-11T23:46:22 Remove 64bit build designation on Solaris - Revert commit https://github.com/libressl-portable/portable/pull/327/commits/c18852f650a3cb258e10222695a31ed5c929ab23 - Remove -m64 from CMakeLists.txt by commit https://github.com/libressl-portable/portable/commit/08089a1b20a1818538670d641242266ed3185814 - Suggested by @andy-js in conversation https://github.com/libressl-portable/portable/pull/327
kinichiro b0e9f0a3 2018-01-06T18:12:50 Reconsider MSVC warning list - Remove C4242 and C4820 - Warning explanation from manual - Sort by warning code
Aric Belsito cbe57bef 2017-09-08T13:43:38 Some CMake Fixes. pqueue.h was getting installed when it shouldn't. pkgconfig files were not getting installed or generated.
Brent Cook 7dc68c82 2017-08-14T12:15:00 set SMALL_TIME_T when sizeof time_t == 4
Brent Cook e0cffc6b 2017-08-13T09:53:59 disable signed/unsigned mismatch in vs builds
d3x0r a4d80ca5 2017-07-06T23:11:11 Merge branch 'master' of https://github.com/libressl-portable/portable into SkipInstall Fix merge conflicts from GNUInstallDirs merge to master.
d3x0r 2557dd74 2017-07-06T02:09:44 Add option LIBRESSL_SKIP_INSTALL Internally LIBRESSL_SKIP_INSTALL, if not set becomes ENABLE_LIBRESSL_INSTALL so this by default is enabled. defining LIBRESSL_SKIP_INSTALL before hand will disable all install() rules. This is useful if another project includes and links to this statically. I chose to add a prefix to avoid potential name collision because the options are cached globally. If the installation is skipped, maybe it should also disable building apps? I didn't do that.
d3x0r a2bd5eba 2017-07-06T01:49:43 use GNUInstallDirs from cmake to specify install paths. Primarily this is to select whether 'lib64' or 'lib' is used on linux type systems.
Matt Stancliff fe79df3c 2017-06-15T23:11:13 Fix CMake module include path Need to search the current directory, not the overall project root directory if this is being included as a sub-dependency of another project.
Brent Cook ff462f05 2017-03-16T20:54:16 add getpagesize check for cmake
kinichiro 3b8cf473 2017-01-17T21:27:41 Add export symbol support to CMake
Brent Cook fa20dae3 2017-01-13T09:10:59 start to enable tlstest for portable Disabled on Windows for now due to pipe2/socketpair support.
Matt Stancliff 5e6c9983 2017-01-12T13:38:25 Use correct CMake base directory offset CMAKE_SOURCE_DIR is the top-level directory of a project, but if you include this as a dependency, the file check locations won't exist at the top level of any parent project. CMAKE_CURRENT_SOURCE_DIR is the actual directory of the current project() regardless of compile mode (standalone or included in another project).
Brent Cook 03a321e5 2016-11-05T06:16:07 disable symbol hiding for now
kinichiro 14905877 2016-10-18T17:13:56 Enable tests on Visual Studio - add patch for aeadtest.c to undef IN - add patch for ocsp_test.c to call BIO_sock_init() before getaddrinfo() - define STDERR_FILENO in unistd.h to build pkcs7test.c - add option ENABLE_VSTEST(default OFF) to enable test on Visual Studio - modify to pass test data file as an argument (aeadtest, evptest) - add Windows scripts (ocsptest, pq_test, ssltest, testdsa, testenc, testrsa) - do not build pidwraptest on MSVC - fix some indentations
kinichiro b4341239 2016-10-06T11:30:55 modify for Intel C++ Compiler - define _CRT_SUPPRESS_RESTRICT to avoid compilation error - suppress compilation warnings (suggested by @Johnex)
kinichiro 62f2a730 2016-09-06T23:25:28 export DLLs functions for MSVC with CMake - Add 3 DEF files to export functions from Windows DLLs - Add gettimeofday to crypto/crypto.def (*1) - Remove gai_strerrorA from tls/tls.def (*1) - Fix CMakeLists.txt to use DEF files as PRIVATE - Change DLL import library file name since it duplicates with static library - Ignore compiler warning C4267, and Edit CMAKE_C_FLAGS not to overwrite it (*1) - Add USE_SHARED option to build openssl.exe with shared libraries (*1) (*1) recommended by @mcnameej
Satoshi Yasushima 829b2158 2016-08-25T18:17:27 build Windows DLL on CMake like below. * libcrypto-38.dll * libssl-39.dll * libtls-11.dll
Satoshi Yasushima 97189276 2016-08-25T18:17:12 build MinGW on CMake
Brent Cook 1fde1eaa 2016-07-31T17:10:39 properly enable strnlen checks for MSVC