90 Commits

Author SHA1 Message Date
kinichiro
4c56df46de Statically link libcrypto/ssl into libtls with cmake 2021-05-07 20:31:22 +09:00
Brent Cook
921c0675a2 Add '--enable-libtls-only' build option 2021-04-07 07:51:45 -05:00
Brent Cook
df3d4bb57a Add -lbcrypt to Windows builds for CNG in getentropy 2020-11-11 05:39:56 -06:00
Samuel Marks
12a400c90d
[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) 2020-05-23 17:16:04 +10:00
kinichiro
740488d89e 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")
2020-05-09 20:24:27 +09:00
Brent Cook
012014df35 more MSVC build/test tweaks 2020-05-01 08:31:11 -05:00
Brent Cook
13159a59e1 make cmake version bump conditional on MSVC 2020-05-01 04:34:48 -05:00
Brent Cook
1c3377bac0 bump cmake and appveyor build environment 2020-05-01 04:09:57 -05:00
OJ
4d07b727d2
Force use of 3.15.7 2020-04-20 20:28:48 +10:00
OJ
79fb34a90b
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.
2020-04-15 13:12:31 +10:00
Matthew Albrecht
a4338ca124
Check for existing uninstall target before creating. 2019-09-20 15:15:11 -05:00
kinichiro
30e91bc6d2 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
2019-07-14 19:45:34 +09:00
kinichiro
389145ed42 Fix illegal pkg-config file generated 2019-07-09 20:56:17 +09:00
Brent Cook
0e8b7c1ef9 remove comments and unify fixups 2019-06-10 06:49:34 -05:00
kinichiro
bbb662b69c 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
2019-06-10 06:49:34 -05:00
Stephan Vedder
c6f8ca2bc6 Enable masm compilation under windows 2019-06-10 06:49:34 -05:00
Brent Cook
535246269d add __dead__ annotation support 2019-02-09 09:09:36 -06:00
Brent Cook
5269dbb279 update cmake 2019-01-31 13:56:56 -06:00
Brent Cook
495a1b6316 more masm fixes, but disable for now 2019-01-21 20:15:30 -06:00
Brent Cook
1b2e3576e0 a couple of fixes to get MSVC Win64 going again 2019-01-21 15:26:32 -06:00
Brent Cook
6c6b58f610 use generator to determine if we're building 64-bit code on Windows 2019-01-21 11:19:11 -06:00
Brent Cook
64d9c5d678 fixes to build asm on MSVS 2019-01-21 05:24:11 -06:00
Brent Cook
f553a9fe63 consider masm/mingw assembly flavors from cmake 2019-01-20 21:18:34 -06:00
Brent Cook
7af3ba340d add configure-time check for timespecsub 2019-01-06 15:47:55 -06:00
Brent Cook
c23f745179 add some defines for building Mingw cross-compiled with CMake 2019-01-02 05:37:35 -06:00
tux3
8fee85b013 Fix CMake not finding getpagesize for Android 19 2018-12-14 14:38:35 +01:00
Brent Cook
f6a8fa5305 don't enable global debug 2018-11-13 13:42:21 -06:00
Brent Cook
9c6e9f0995 initial 32-bit arm assembly optimization support 2018-11-11 00:24:35 -06:00
Brent Cook
e7d11baaae enable optimizations for all cmake builds 2018-11-09 18:29:06 -06:00
kinichiro
0b8343ace3 Fix cmake to generate proper Libs.private in .pc files 2018-10-05 22:59:44 +09:00
kinichiro
f819a2bce7 Fix cmake linking libraries 2018-10-03 20:35:36 +09:00
Brent Cook
0974145a9e better separate linux and non-linux checks for clock_gettime 2018-04-06 04:21:20 -05:00
kinichiro
650487dbe9 Build and run regression tests against shared libraries with CMake 2018-03-27 21:40:52 +09:00
Brent Cook
55c0cacca0 Land #406, use BUILD_SHARED_LIBS 2018-03-25 19:21:16 -05:00
Brent Cook
862cd768b7 fix clock_gettime check in cmake 2018-03-23 13:52:12 -05:00
Brent Cook
70e6be3d6e move clock_gettime check out 2018-03-22 21:43:06 -05:00
Don
4d753badc0 Cleanup options around tests 2018-03-21 11:33:38 -07:00
Don
26bebfc564 Use BUILD_SHARED_LIBS to specify library type 2018-03-21 10:24:52 -07:00
Brent Cook
1b84f79f4c Land #402, Remove CMAKE_HOST_ references 2018-03-18 09:53:37 -05:00
Don
09590953d0 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.
2018-03-16 14:59:53 -07:00
Don
aa60dd89f4 Conditionally build apps
Add an option to build or not build the apps directory.
2018-03-16 14:08:36 -07:00
Brent Cook
3fb9e63b90 bump base requirement to Windows Vista, use builtin inet_ntop/pton 2018-03-14 07:29:04 -05:00
kinichiro
0ed618095d Add libpthread for libtls build 2018-03-13 23:16:10 +09:00
kinichiro
9e06be3fcd Remove 64bit build designation on Solaris
- Revert commit c18852f650
- Remove -m64 from CMakeLists.txt by commit 08089a1b20
- Suggested by @andy-js in conversation https://github.com/libressl-portable/portable/pull/327
2018-01-11 23:46:22 +09:00
kinichiro
b0e9f0a354 Reconsider MSVC warning list
- Remove C4242 and C4820
- Warning explanation from manual
- Sort by warning code
2018-01-06 18:12:50 +09:00
Aric Belsito
cbe57bef04
Some CMake Fixes.
pqueue.h was getting installed when it shouldn't.
pkgconfig files were not getting installed or generated.
2017-09-10 11:54:23 -07:00
Brent Cook
7dc68c82bc set SMALL_TIME_T when sizeof time_t == 4 2017-08-14 12:15:00 -05:00
Brent Cook
e0cffc6b48 disable signed/unsigned mismatch in vs builds 2017-08-13 11:49:04 -05:00
d3x0r
a4d80ca56a Merge branch 'master' of https://github.com/libressl-portable/portable into SkipInstall
Fix merge conflicts from GNUInstallDirs merge to master.
2017-07-06 23:11:11 -07:00
d3x0r
2557dd7439 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.
2017-07-06 02:09:44 -07:00