Victor Vasiliev | 5216a93 | 2014-08-14 21:41:02 -0400 | [diff] [blame] | 1 | cmake_minimum_required (VERSION 2.8.8) |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 2 | |
| 3 | project (BoringSSL) |
| 4 | |
| 5 | if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") |
Adam Langley | f9a40b2 | 2015-01-09 13:34:38 -0800 | [diff] [blame] | 6 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wshadow -Werror -ggdb") |
Adam Langley | af7e74b | 2014-12-09 11:55:46 -0800 | [diff] [blame] | 7 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wshadow -Werror -ggdb -std=c++0x") |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 8 | elseif(MSVC) |
| 9 | # Disable warnings for implicit integer narrowing. |
| 10 | set(CMAKE_C_FLAGS "/wd4267") |
David Benjamin | eee7306 | 2014-10-31 16:01:29 -0400 | [diff] [blame] | 11 | set(CMAKE_CXX_FLAGS "/wd4267") |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 12 | endif() |
| 13 | |
Adam Langley | eb7d2ed | 2014-07-30 16:02:14 -0700 | [diff] [blame] | 14 | add_definitions(-DBORINGSSL_IMPLEMENTATION) |
| 15 | |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 16 | if (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86_64") |
| 17 | set(ARCH "x86_64") |
Piotr Sikora | 1d8adf1 | 2014-07-31 03:09:49 -0700 | [diff] [blame] | 18 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "amd64") |
| 19 | set(ARCH "x86_64") |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 20 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "AMD64") |
| 21 | # cmake reports AMD64 on Windows, but we might be building for 32-bit. |
| 22 | if (CMAKE_CL_64) |
| 23 | set(ARCH "x86_64") |
| 24 | else() |
| 25 | set(ARCH "x86") |
| 26 | endif() |
| 27 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86") |
| 28 | set(ARCH "x86") |
Piotr Sikora | 1d8adf1 | 2014-07-31 03:09:49 -0700 | [diff] [blame] | 29 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i386") |
| 30 | set(ARCH "x86") |
Lukas Tribus | d83f38c | 2014-08-11 13:27:44 -0700 | [diff] [blame] | 31 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "i686") |
| 32 | set(ARCH "x86") |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 33 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm") |
| 34 | set(ARCH "arm") |
Adam Langley | 3e65265 | 2015-01-09 15:44:37 -0800 | [diff] [blame] | 35 | elseif (${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64") |
| 36 | set(ARCH "aarch64") |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 37 | else() |
| 38 | message(FATAL_ERROR "Unknown processor:" ${CMAKE_SYSTEM_PROCESSOR}) |
| 39 | endif() |
| 40 | |
Nico Weber | deb5284 | 2014-11-18 12:14:46 -0800 | [diff] [blame] | 41 | if (${ARCH} STREQUAL "x86" AND APPLE) |
| 42 | # With CMake 2.8.x, ${CMAKE_SYSTEM_PROCESSOR} evalutes to i386 on OS X, |
| 43 | # but clang defaults to 64-bit builds on OS X unless otherwise told. |
| 44 | # Set ARCH to x86_64 so clang and CMake agree. This is fixed in CMake 3. |
| 45 | set(ARCH "x86_64") |
| 46 | endif() |
| 47 | |
Adam Langley | 95c29f3 | 2014-06-20 12:00:00 -0700 | [diff] [blame] | 48 | add_subdirectory(crypto) |
| 49 | add_subdirectory(ssl) |
| 50 | add_subdirectory(ssl/test) |
| 51 | add_subdirectory(tool) |