blob: ea96019b2c7b15aa1d1e6ea3d963bd6582b5bccc [file] [log] [blame]
Paul Bakker367dae42009-06-28 21:50:27 +00001cmake_minimum_required(VERSION 2.6)
2project(POLARSSL C)
3
4enable_testing()
5
Paul Bakker2015eac2011-07-27 16:52:28 +00006if(CMAKE_COMPILER_IS_GNUCC)
7 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -W -Wdeclaration-after-statement")
8 set(CMAKE_C_FLAGS_DEBUG "-g -O0")
9 set(CMAKE_C_FLAGS_COVERAGE "-g -O0 -fprofile-arcs -ftest-coverage -lgcov")
10endif(CMAKE_COMPILER_IS_GNUCC)
11
Paul Bakker396c52f2009-07-11 19:54:40 +000012if(CMAKE_BUILD_TYPE STREQUAL "Coverage")
Paul Bakker2015eac2011-07-27 16:52:28 +000013 if(CMAKE_COMPILER_IS_GNUCC)
14 set(CMAKE_SHARED_LINKER_FLAGS "-fprofile-arcs -ftest-coverage")
15 endif(CMAKE_COMPILER_IS_GNUCC)
Paul Bakker396c52f2009-07-11 19:54:40 +000016endif(CMAKE_BUILD_TYPE STREQUAL "Coverage")
Paul Bakker367dae42009-06-28 21:50:27 +000017
Paul Bakkerb06819b2011-01-18 16:18:38 +000018option(USE_PKCS11_HELPER_LIBRARY "Build PolarSSL with the pkcs11-helper library." OFF)
19
Paul Bakker091e2872011-07-13 11:45:58 +000020if(LIB_INSTALL_DIR)
21else()
22set(LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
23endif()
24
Paul Bakker367dae42009-06-28 21:50:27 +000025include_directories(include/)
26
27add_subdirectory(library)
Paul Bakker547f73d2011-01-05 15:07:54 +000028add_subdirectory(include)
Paul Bakker2015eac2011-07-27 16:52:28 +000029
30if(CMAKE_COMPILER_IS_GNUCC)
31 add_subdirectory(tests)
32endif(CMAKE_COMPILER_IS_GNUCC)
33
Paul Bakker1bbeb692009-10-04 15:08:01 +000034add_subdirectory(programs)
Paul Bakkerccba9bc2011-01-05 15:30:32 +000035
36ADD_CUSTOM_TARGET(apidoc
Paul Bakker37ca75d2011-01-06 12:28:03 +000037 COMMAND doxygen doxygen/polarssl.doxyfile
Paul Bakkerccba9bc2011-01-05 15:30:32 +000038 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})