diff --git a/Externals/polarssl/CMakeLists.txt b/Externals/polarssl/CMakeLists.txt index 6bcae12aed..6f607e76c4 100644 --- a/Externals/polarssl/CMakeLists.txt +++ b/Externals/polarssl/CMakeLists.txt @@ -1,111 +1,2 @@ -cmake_minimum_required(VERSION 2.6) -project(POLARSSL C) - -string(REGEX MATCH "Clang" CMAKE_COMPILER_IS_CLANG "${CMAKE_C_COMPILER_ID}") - -if(CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement") - set(CMAKE_C_FLAGS_RELEASE "-O2") - set(CMAKE_C_FLAGS_DEBUG "-g3 -O0") - set(CMAKE_C_FLAGS_COVERAGE "-g3 -O0 --coverage") - set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-omit-frame-pointer -g3 -O1") - set(CMAKE_C_FLAGS_CHECK "${CMAKE_C_FLAGS} -Werror -O1 -Wlogical-op -Wwrite-strings") - set(CMAKE_C_FLAGS_CHECKFULL "${CMAKE_C_FLAGS_CHECK} -Wcast-qual") -endif(CMAKE_COMPILER_IS_GNUCC) - -if(CMAKE_COMPILER_IS_CLANG) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -W -Wdeclaration-after-statement") - set(CMAKE_C_FLAGS_RELEASE "-O2") - set(CMAKE_C_FLAGS_DEBUG "-g3 -O0") - set(CMAKE_C_FLAGS_COVERAGE "-g3 -O0 --coverage") - set(CMAKE_C_FLAGS_ASAN "-fsanitize=address -fno-omit-frame-pointer -g3 -O1") - set(CMAKE_C_FLAGS_CHECK "${CMAKE_C_FLAGS} -Werror -O1 -Wpointer-arith -Wwrite-strings -Wdocumentation -Wunreachable-code") -endif(CMAKE_COMPILER_IS_CLANG) - -set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} - CACHE STRING "Choose the type of build: None Debug Release Coverage ASan Check CheckFull" - FORCE) - -if(CMAKE_BUILD_TYPE STREQUAL "Coverage") - if(CMAKE_COMPILER_IS_GNUCC) - set(CMAKE_SHARED_LINKER_FLAGS "--coverage") - endif(CMAKE_COMPILER_IS_GNUCC) - if(CMAKE_COMPILER_IS_CLANG) - set(CMAKE_SHARED_LINKER_FLAGS "--coverage") - endif(CMAKE_COMPILER_IS_CLANG) -endif(CMAKE_BUILD_TYPE STREQUAL "Coverage") - -option(USE_PKCS11_HELPER_LIBRARY "Build PolarSSL with the pkcs11-helper library." OFF) - -option(ENABLE_ZLIB_SUPPORT "Build PolarSSL with zlib library." OFF) -option(ENABLE_PROGRAMS "Build PolarSSL programs." OFF) -option(ENABLE_TESTING "Build PolarSSL tests." OFF) - -if(ENABLE_TESTING) - enable_testing() -endif() - -if(LIB_INSTALL_DIR) -else() -set(LIB_INSTALL_DIR lib) -endif() - include_directories(include/) - -if(ENABLE_ZLIB_SUPPORT) - find_package(ZLIB) - - if(ZLIB_FOUND) - include_directories(${ZLIB_INCLUDE_DIR}) - endif(ZLIB_FOUND) -endif(ENABLE_ZLIB_SUPPORT) - add_subdirectory(library) -add_subdirectory(include) - -if(ENABLE_TESTING) - if(CMAKE_COMPILER_IS_GNUCC) - add_subdirectory(tests) - endif(CMAKE_COMPILER_IS_GNUCC) - if(CMAKE_COMPILER_IS_CLANG) - add_subdirectory(tests) - endif(CMAKE_COMPILER_IS_CLANG) -endif() - -if(ENABLE_PROGRAMS) - add_subdirectory(programs) -endif() - -ADD_CUSTOM_TARGET(apidoc - COMMAND doxygen doxygen/polarssl.doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - -if(ENABLE_TESTING) - ADD_CUSTOM_TARGET(test-ref-config - COMMAND tests/scripts/test-ref-configs.pl - ) - - ADD_CUSTOM_TARGET(covtest - COMMAND make test - COMMAND programs/test/selftest - COMMAND cd tests && ./compat.sh - COMMAND cd tests && ./ssl-opt.sh - ) - - ADD_CUSTOM_TARGET(lcov - COMMAND rm -rf Coverage - COMMAND lcov --capture --initial --directory library/CMakeFiles/polarssl.dir -o files.info - COMMAND lcov --capture --directory library/CMakeFiles/polarssl.dir -o tests.info - COMMAND lcov --add-tracefile files.info --add-tracefile tests.info -o all.info - COMMAND lcov --remove all.info -o final.info '*.h' - COMMAND gendesc tests/Descriptions.txt -o descriptions - COMMAND genhtml --title PolarSSL --description-file descriptions --keep-descriptions --legend --no-branch-coverage -o Coverage final.info - COMMAND rm -f files.info tests.info all.info final.info descriptions - ) - - ADD_CUSTOM_TARGET(memcheck - COMMAND ctest -O memcheck.log -D ExperimentalMemCheck - COMMAND tail -n1 memcheck.log | grep 'Memory checking results:' > /dev/null - COMMAND rm -f memcheck.log - ) -endif() diff --git a/Externals/polarssl/README.rst b/Externals/polarssl/README.rst deleted file mode 100644 index 8dd823c9c2..0000000000 --- a/Externals/polarssl/README.rst +++ /dev/null @@ -1,104 +0,0 @@ -=================== -README for PolarSSL -=================== - -Compiling -========= - -There are currently three active build systems within the PolarSSL releases: - -- Make -- CMake -- Microsoft Visual Studio (Visual Studio 6 and Visual Studio 2010) - -The main system used for development is CMake. That system is always the most up-to-date. The others should reflect all changes present in the CMake build system, but some features are not ported there by default. - -Make ----- - -We intentionally only use the absolute minimum of **Make** functionality, as we have discovered that a lot of **Make** features are not supported on all different implementations of Make on different platforms. As such, the Makefiles sometimes require some handwork or `export` statements in order to work for your platform. - -In order to build the source using Make, just enter at the command line:: - - make - -In order to run the tests, enter:: - - make check - -Depending on your platform, you might run into some issues. Please check the Makefiles in *library/*, *programs/* and *tests/* for options to manually add or remove for specific platforms. You can also check `the PolarSSL Knowledge Base `_ for articles on your platform or issue. - -In case you find that you need to do something else as well, please let us know what, so we can add it to the KB. - -CMake ------ - -In order to build the source using CMake, just enter at the command line:: - - cmake . - - make - -There are 5 different active build modes specified within the CMake buildsystem: - -- Release. - This generates the default code without any unnecessary information in the binary files. -- Debug. - This generates debug information and disables optimization of the code. -- Coverage. - This generates code coverage information in addition to debug information. -- ASan. - This instruments the code with AddressSanitizer to check for memory errors. -- Check. - This activates more compiler warnings and treats them as errors. - -Switching build modes in CMake is simple. For debug mode, enter at the command line: - - cmake -D CMAKE_BUILD_TYPE:String="Debug" . - -In order to run the tests, enter:: - - make test - -Microsoft Visual Studio ------------------------ - -The build files for Microsoft Visual Studio are generated for Visual Studio 6.0 and Visual Studio 2010. - -The workspace 'polarssl.dsw' contains all the basic projects needed to build the library and all the programs. The files in tests are not generated and compiled, as these need a perl environment as well. - -Example programs -================ - -We've included example programs for a lot of different features and uses in *programs/*. Most programs only focus on a single feature or usage scenario, so keep that in mind when copying parts of the code. - -Tests -===== - -PolarSSL includes an elaborate test suite in *tests/* that initially requires Perl to generate the tests files (e.g. *test_suite_mpi.c*). These files are generates from a **function file** (e.g. *suites/test_suite_mpi.function*) and a **data file** (e.g. *suites/test_suite_mpi.data*). The **function file** contains the template for each test function. The **data file** contains the test cases, specified as parameters that should be pushed into a template function. - -Configurations -============== - -We provide some non-standard configurations focused on specific use cases in the configs/ directory. You can read more about those in configs/README.txt - -Contributing -============ - -We graciously accept bugs and contributions from the community. There are some requirements we need to fulfil in order to be able to integrate contributions in the main code. - -Simple bug fixes to existing code do not contain copyright themselves and we can integrate those without any issue. The same goes for trivial contributions. - -For larger contributions, e.g. a new feature, the code possible falls under copyright law. We then need your consent to share in the ownership of the copyright. We have a form for that, which we will mail to you in case you submit a contribution or pull request that we deem this necessary for. - -Process -------- -#. `Check for open issues `_ or - `start a discussion `_ around a feature - idea or a bug. -#. Fork the `PolarSSL repository on Github `_ - to start making your changes. -#. Write a test which shows that the bug was fixed or that the feature works - as expected. -#. Send a pull request and bug us until it gets merged and published. We will - include your name in the ChangeLog :) diff --git a/Externals/polarssl/include/CMakeLists.txt b/Externals/polarssl/include/CMakeLists.txt deleted file mode 100644 index 8468871dc5..0000000000 --- a/Externals/polarssl/include/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -option(INSTALL_POLARSSL_HEADERS "Install PolarSSL headers." ON) - -if(INSTALL_POLARSSL_HEADERS) - -file(GLOB headers "polarssl/*.h") - -install(FILES ${headers} - DESTINATION include/polarssl - PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ) - -endif(INSTALL_POLARSSL_HEADERS) diff --git a/Externals/polarssl/library/CMakeLists.txt b/Externals/polarssl/library/CMakeLists.txt index bc986eee44..35c08f345d 100644 --- a/Externals/polarssl/library/CMakeLists.txt +++ b/Externals/polarssl/library/CMakeLists.txt @@ -110,10 +110,6 @@ if(USE_STATIC_POLARSSL_LIBRARY) if(LINK_WITH_PTHREAD) target_link_libraries(${polarssl_static_target} pthread) endif() - - install(TARGETS ${polarssl_static_target} - DESTINATION ${LIB_INSTALL_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif() if(USE_SHARED_POLARSSL_LIBRARY) @@ -129,8 +125,4 @@ if(USE_SHARED_POLARSSL_LIBRARY) if(LINK_WITH_PTHREAD) target_link_libraries(polarssl pthread) endif() - - install(TARGETS polarssl - DESTINATION ${LIB_INSTALL_DIR} - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) endif(USE_SHARED_POLARSSL_LIBRARY)