forked from ethereum/solidity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
EthOptions.cmake
46 lines (40 loc) · 1.76 KB
/
EthOptions.cmake
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
45
46
# CMAKE macros to set default CMAKE options and to show the
# resulting configuration.
macro(configure_project)
set(NAME ${PROJECT_NAME})
# features
eth_default_option(COVERAGE OFF)
eth_default_option(OSSFUZZ OFF)
# components
eth_default_option(TESTS ON)
eth_default_option(TOOLS ON)
# Define a matching property name of each of the "features".
foreach(FEATURE ${ARGN})
set(SUPPORT_${FEATURE} TRUE)
endforeach()
include(EthBuildInfo)
create_build_info(${NAME})
print_config(${NAME})
endmacro()
macro(print_config NAME)
message("")
message("------------------------------------------------------------------------")
message("-- Configuring ${NAME} ${PROJECT_VERSION}")
message("------------------------------------------------------------------------")
message("-- CMake Version ${CMAKE_VERSION}")
message("-- CMAKE_BUILD_TYPE Build type ${CMAKE_BUILD_TYPE}")
message("-- TARGET_PLATFORM Target platform ${CMAKE_SYSTEM_NAME}")
message("--------------------------------------------------------------- features")
message("-- COVERAGE Coverage support ${COVERAGE}")
message("------------------------------------------------------------- components")
if (SUPPORT_TESTS)
message("-- TESTS Build tests ${TESTS}")
endif()
if (SUPPORT_TOOLS)
message("-- TOOLS Build tools ${TOOLS}")
endif()
message("------------------------------------------------------------------ flags")
message("-- OSSFUZZ ${OSSFUZZ}")
message("------------------------------------------------------------------------")
message("")
endmacro()