mirror of
https://github.com/monero-project/kovri
synced 2025-10-06 00:32:51 +02:00
Build: use release/debug defs, add debug target
This commit is contained in:
@@ -80,7 +80,6 @@ if (NOT WITH_PYTHON AND NOT WITH_SHARED_DEPS)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Default build is Debug
|
# Default build is Debug
|
||||||
# TODO(anonimal): currently, there are no other release-specific flags (fix this when we release)
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
if(NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE Debug)
|
set(CMAKE_BUILD_TYPE Debug)
|
||||||
endif()
|
endif()
|
||||||
|
52
Makefile
52
Makefile
@@ -69,10 +69,6 @@ cmake = cmake $(cmake-gen) $(cmake_cotire)
|
|||||||
cmake-debug = $(cmake) -D CMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
cmake-debug = $(cmake) -D CMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||||
cmake-release = $(cmake) -D CMAKE_BUILD_TYPE=Release
|
cmake-release = $(cmake) -D CMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
# TODO(unassigned): cmake-release when we're out of alpha
|
|
||||||
cmake-kovri = $(cmake-debug)
|
|
||||||
cmake-kovri-util = -D WITH_KOVRI_UTIL=ON
|
|
||||||
|
|
||||||
# Current off-by-default Kovri build options
|
# Current off-by-default Kovri build options
|
||||||
cmake-optimize = -D WITH_OPTIMIZE=ON
|
cmake-optimize = -D WITH_OPTIMIZE=ON
|
||||||
cmake-hardening = -D WITH_HARDENING=ON
|
cmake-hardening = -D WITH_HARDENING=ON
|
||||||
@@ -84,6 +80,7 @@ cmake-shared-deps= -D WITH_SHARED_DEPS=ON
|
|||||||
cmake-doxygen = -D WITH_DOXYGEN=ON
|
cmake-doxygen = -D WITH_DOXYGEN=ON
|
||||||
cmake-coverage = -D WITH_COVERAGE=ON
|
cmake-coverage = -D WITH_COVERAGE=ON
|
||||||
cmake-python = -D WITH_PYTHON=ON
|
cmake-python = -D WITH_PYTHON=ON
|
||||||
|
cmake-kovri-util = -D WITH_KOVRI_UTIL=ON
|
||||||
|
|
||||||
# Android-specific
|
# Android-specific
|
||||||
cmake-android = -D ANDROID=1 -D KOVRI_DATA_PATH="/data/local/tmp/.kovri"
|
cmake-android = -D ANDROID=1 -D KOVRI_DATA_PATH="/data/local/tmp/.kovri"
|
||||||
@@ -128,14 +125,14 @@ deps:
|
|||||||
$(call MAKE_CRYPTOPP, $(MAKE) $(cryptopp-native) static)
|
$(call MAKE_CRYPTOPP, $(MAKE) $(cryptopp-native) static)
|
||||||
|
|
||||||
shared-deps:
|
shared-deps:
|
||||||
$(eval cmake-kovri += $(cmake-shared-deps))
|
$(eval cmake-debug += $(cmake-shared-deps))
|
||||||
$(call MAKE_CRYPTOPP, $(MAKE) shared)
|
$(call MAKE_CRYPTOPP, $(MAKE) shared)
|
||||||
|
|
||||||
release-deps:
|
release-deps:
|
||||||
$(call MAKE_CRYPTOPP, $(MAKE) static)
|
$(call MAKE_CRYPTOPP, $(MAKE) static)
|
||||||
|
|
||||||
release-static-deps:
|
release-static-deps:
|
||||||
$(eval cmake-kovri += $(cmake-static-deps))
|
$(eval cmake-release += $(cmake-static-deps))
|
||||||
$(call MAKE_CRYPTOPP, $(MAKE) static)
|
$(call MAKE_CRYPTOPP, $(MAKE) static)
|
||||||
|
|
||||||
#-----------------------------------#
|
#-----------------------------------#
|
||||||
@@ -143,20 +140,24 @@ release-static-deps:
|
|||||||
#-----------------------------------#
|
#-----------------------------------#
|
||||||
|
|
||||||
dynamic: shared-deps
|
dynamic: shared-deps
|
||||||
$(eval cmake-kovri += $(cmake-native))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-native))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
static: deps
|
static: deps
|
||||||
$(eval cmake-kovri += $(cmake-native) $(cmake-static))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-native) $(cmake-static))
|
||||||
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
|
debug: deps
|
||||||
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-native) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
#-----------------------------------#
|
#-----------------------------------#
|
||||||
# For dynamic distribution release #
|
# For dynamic distribution release #
|
||||||
#-----------------------------------#
|
#-----------------------------------#
|
||||||
|
|
||||||
release: release-deps
|
release: release-deps
|
||||||
# TODO(unassigned): cmake release flags + optimizations/hardening when we're out of alpha
|
# TODO(unassigned): optimizations/hardening when we're out of alpha
|
||||||
$(eval cmake-kovri += $(cmake-kovri-util))
|
$(eval cmake-kovri += $(cmake-release) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
#--------------------------------------------------------------#
|
#--------------------------------------------------------------#
|
||||||
@@ -164,12 +165,12 @@ release: release-deps
|
|||||||
#--------------------------------------------------------------#
|
#--------------------------------------------------------------#
|
||||||
|
|
||||||
release-static: release-static-deps
|
release-static: release-static-deps
|
||||||
# TODO(unassigned): cmake release flags + optimizations/hardening when we're out of alpha
|
# TODO(unassigned): optimizations/hardening when we're out of alpha
|
||||||
$(eval cmake-kovri += $(cmake-static) $(cmake-kovri-util))
|
$(eval cmake-kovri += $(cmake-release) $(cmake-static) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
release-static-android: release-static-deps
|
release-static-android: release-static-deps
|
||||||
$(eval cmake-kovri += $(cmake-static) $(cmake-android) $(cmake-kovri-util))
|
$(eval cmake-kovri += $(cmake-release) $(cmake-static) $(cmake-android) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
#-----------------#
|
#-----------------#
|
||||||
@@ -178,48 +179,48 @@ release-static-android: release-static-deps
|
|||||||
|
|
||||||
# Utility binary
|
# Utility binary
|
||||||
util: deps
|
util: deps
|
||||||
$(eval cmake-kovri += $(cmake-kovri-util))
|
$(eval $(cmake-kovri) += $(cmake-debug) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# For API/testnet development
|
# For API/testnet development
|
||||||
python: shared-deps
|
python: shared-deps
|
||||||
$(eval cmake-kovri += $(cmake-python))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-python))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce optimized, hardened binary
|
# Produce optimized, hardened binary
|
||||||
all-options: deps
|
all-options: deps
|
||||||
$(eval cmake-kovri += $(cmake-optimize) $(cmake-hardening) $(cmake-kovri-util))
|
$(eval cmake-kovri += $(cmake-release) $(cmake-optimize) $(cmake-hardening) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce optimized, hardened binary. Note: we need (or very much should have) optimizations with hardening
|
# Produce optimized, hardened binary. Note: we need (or very much should have) optimizations with hardening
|
||||||
optimized-hardened: deps
|
optimized-hardened: deps
|
||||||
$(eval cmake-kovri += $(cmake-optimize) $(cmake-hardening))
|
$(eval cmake-kovri += $(cmake-release) $(cmake-optimize) $(cmake-hardening))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce all unit-tests with optimized hardening
|
# Produce all unit-tests with optimized hardening
|
||||||
optimized-hardened-tests: deps
|
optimized-hardened-tests: deps
|
||||||
$(eval cmake-kovri += $(cmake-optimize) $(cmake-hardening) $(cmake-tests))
|
$(eval cmake-kovri += $(cmake-release) $(cmake-optimize) $(cmake-hardening) $(cmake-tests))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce build with coverage. Note: leaving out hardening because of need for optimizations
|
# Produce build with coverage. Note: leaving out hardening because of need for optimizations
|
||||||
coverage: deps
|
coverage: deps
|
||||||
$(eval cmake-kovri += $(cmake-coverage) $(cmake-kovri-util))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-coverage) $(cmake-kovri-util))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce unit-tests with coverage
|
# Produce unit-tests with coverage
|
||||||
coverage-tests: deps
|
coverage-tests: deps
|
||||||
$(eval cmake-kovri += $(cmake-coverage) $(cmake-tests))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-coverage) $(cmake-tests))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce vanilla unit-tests
|
# Produce vanilla unit-tests
|
||||||
tests: deps
|
tests: deps
|
||||||
$(eval cmake-kovri += $(cmake-tests))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-tests))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce vanilla fuzzer-tests
|
# Produce vanilla fuzzer-tests
|
||||||
fuzz-tests: deps
|
fuzz-tests: deps
|
||||||
$(call CMAKE_FUZZER) && $(MAKE)
|
$(call CMAKE_FUZZER) && $(MAKE)
|
||||||
$(eval cmake-kovri += $(cmake-fuzz-tests))
|
$(eval cmake-kovri += $(cmake-debug) $(cmake-fuzz-tests))
|
||||||
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
$(call CMAKE,$(build),$(cmake-kovri)) && $(MAKE) -C $(build) $(cmake_target)
|
||||||
|
|
||||||
# Produce Doxygen documentation
|
# Produce Doxygen documentation
|
||||||
@@ -229,7 +230,8 @@ doxygen:
|
|||||||
|
|
||||||
# Produce available CMake build options
|
# Produce available CMake build options
|
||||||
help:
|
help:
|
||||||
$(call CMAKE,$(build),$(cmake-kovri) -LH)
|
# TODO(unassigned): fix (we must actually change directory)
|
||||||
|
$(call CMAKE,$(build) -LH)
|
||||||
|
|
||||||
# Clean all build directories and Doxygen output
|
# Clean all build directories and Doxygen output
|
||||||
clean:
|
clean:
|
||||||
@@ -252,4 +254,4 @@ uninstall:
|
|||||||
@_install="./pkg/installers/kovri-install.sh"; \
|
@_install="./pkg/installers/kovri-install.sh"; \
|
||||||
if [ -e $$_install ]; then $$_install -u; else echo "Unable to find $$_install"; exit 1; fi
|
if [ -e $$_install ]; then $$_install -u; else echo "Unable to find $$_install"; exit 1; fi
|
||||||
|
|
||||||
.PHONY: all deps release-deps release-static-deps dynamic static release release-static release-static-android all-options optimized-hardened optimized-hardened-tests coverage coverage-tests tests doxygen help clean install uninstall
|
.PHONY: all deps release-deps release-static-deps dynamic static debug release release-static release-static-android all-options optimized-hardened optimized-hardened-tests coverage coverage-tests tests doxygen help clean install uninstall
|
||||||
|
Reference in New Issue
Block a user