-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
45 lines (32 loc) · 1.61 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
cmake_minimum_required( VERSION 3.8.2 )
project( Magenta C CXX )
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/CMakeModules/" )
set( CMAKE_CXX_STANDARD 14 )
include( TestBigEndian )
test_big_endian( WORD_BIG_ENDIAN )
string( TOUPPER "${CMAKE_SYSTEM_NAME}" OPERATINGSYSTEMRAW )
string( REGEX REPLACE "-" "" OPERATINGSYSTEM "${OPERATINGSYSTEMRAW}" )
file( STRINGS "copyright.txt" COPYRIGHT_INFO )
file( STRINGS "version.txt" FULL_VERSION )
file( STRINGS "build.txt" BUILD_NUMBER )
string( REPLACE "." ";" FULL_VERSION_LIST ${FULL_VERSION} )
list( GET FULL_VERSION_LIST 0 CMAKE_MAJOR_VERSION )
list( GET FULL_VERSION_LIST 1 CMAKE_MINOR_VERSION )
list( GET FULL_VERSION_LIST 2 CMAKE_PATCH_VERSION )
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/config.h.in ${CMAKE_BINARY_DIR}/include/config.h )
add_definitions( -DHAVE_CONFIG_H )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
CACHE PATH "Output directory for static libraries." )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
CACHE PATH "Output directory for shared libraries." )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
CACHE PATH "Output directory for executables and shared libraries." )
include( CopyHeadersToInclude )
include_directories( ${CMAKE_BINARY_DIR}/include )
add_subdirectory( src )
enable_testing()
add_test( NAME TestDataTypes COMMAND testdatatypes )
add_test( NAME TestDataBuffer COMMAND testdatabuffer )
add_test( NAME TestStringUtils COMMAND teststringutils )
add_test( NAME TestRequestIdentities COMMAND testrequestidentities )
add_test( NAME TestSignRequest COMMAND testsignrequest )