From 5df738058cd884c9edbbacfeaf5629c1dc02b01c Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Sun, 19 Nov 2017 19:04:57 -0500 Subject: [PATCH] build version move to generated store --- .../tools/clam_tools/write_build_config.cpp | 21 +++++++++++++------ scripts/clam/cpp/variables.def | 3 ++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/nucleus/tools/clam_tools/write_build_config.cpp b/nucleus/tools/clam_tools/write_build_config.cpp index 4afed778..b8bfd80c 100644 --- a/nucleus/tools/clam_tools/write_build_config.cpp +++ b/nucleus/tools/clam_tools/write_build_config.cpp @@ -245,8 +245,8 @@ int write_build_config::execute() // find our storage area for the build headers. we know a couple build // configurations by now, but this should really be coming out of a config // file instead. - astring library_directory = repodir + "/nucleus/library"; - if (!filename(library_directory).good()) { + astring genstore_directory = environment::get("FEISTY_MEOW_GENERATED_STORE"); + if (!filename(genstore_directory).good()) { non_continuable_error(static_class_name(), func, astring("failed to locate the library folder storing the generated files.")); } @@ -254,10 +254,8 @@ int write_build_config::execute() // these are very specific paths, but they really are where we expect to // see the headers. - astring cfg_header_filename = library_directory + "/" - "__build_configuration.h"; - astring ver_header_filename = library_directory + "/" - "__build_version.h"; + astring cfg_header_filename = genstore_directory + "/__build_configuration.h"; + astring ver_header_filename = genstore_directory + "/__build_version.h"; // open the ini file for reading. byte_filer ini(fname, "r"); @@ -380,6 +378,17 @@ int write_build_config::execute() LOG(astring("failed writing output file ") + ver_header_filename); } + // now make a copy into the library folder, for when we release a production version. + astring library_directory = repodir + "/nucleus/library"; + astring cfg_header_copy = library_directory + "/__build_configuration.h"; + astring ver_header_copy = library_directory + "/__build_version.h"; + if (!write_output_file(cfg_header_copy, cfg_accumulator)) { + LOG(astring("skipping copy due to read-only issue on output file: ") + cfg_header_copy); + } + if (!write_output_file(ver_header_copy, ver_accumulator)) { + LOG(astring("skipping copy due to read-only issue on output file: ") + ver_header_copy); + } + return 0; } diff --git a/scripts/clam/cpp/variables.def b/scripts/clam/cpp/variables.def index 60fcc7bc..bcf70032 100644 --- a/scripts/clam/cpp/variables.def +++ b/scripts/clam/cpp/variables.def @@ -228,7 +228,8 @@ export DYNAMIC_LIBRARY_DIR = $(TARGETS_STORE) export STATIC_LIBRARY_DIR = $(TARGETS_STORE) # "HEADER_SEARCH_PATH" is where the class interface files are to be found. -#HEADER_SEARCH_PATH = +# we add the generated store folder for the build version file. +HEADER_SEARCH_PATH = $(FEISTY_MEOW_GENERATED_STORE) # "HOOPLE_HEADERS" are locations where the HOOPLE headers can be found. ifeq "$(HOOPLE_HEADERS)" "" -- 2.34.1