diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-07-17 15:16:34 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-07-17 15:16:34 +0200 |
commit | 5aa48fc52202fd95210d8860b66769550732a5d9 (patch) | |
tree | c0319bd35076c41a83a8b8a3c67bb8a3db3a182d | |
parent | 9f2b5f3c24907d603706ff81b459d3f5d3c0882e (diff) |
Add support for tests with multiple ODB headers
-rw-r--r-- | build/bootstrap.make | 4 | ||||
-rw-r--r-- | common/circular/multiple/makefile | 7 | ||||
-rw-r--r-- | common/circular/single/makefile | 6 | ||||
-rw-r--r-- | common/template/Makefile.am | 23 | ||||
-rw-r--r-- | common/template/template-vc10.vcxproj | 29 | ||||
-rw-r--r-- | common/template/template-vc10.vcxproj.filters | 20 | ||||
-rw-r--r-- | common/template/template-vc9.vcproj | 21 |
7 files changed, 66 insertions, 44 deletions
diff --git a/build/bootstrap.make b/build/bootstrap.make index d4e5049..507ce08 100644 --- a/build/bootstrap.make +++ b/build/bootstrap.make @@ -44,6 +44,10 @@ clean: $(out_base)/.clean endif +# By default the ODB header is called test.hxx. +# +$(out_base)/.dist: export odb_header_stem := test + # Database schema creation. # ifeq ($(filter $(db_id),sqlite),) diff --git a/common/circular/multiple/makefile b/common/circular/multiple/makefile index 82a0bae..abd72e7 100644 --- a/common/circular/multiple/makefile +++ b/common/circular/multiple/makefile @@ -58,13 +58,14 @@ $(dist): sources := $(cxx_tun) $(dist): headers := $(odb_hdr) $(dist): data_dist := test.std $(dist): export name := $(name) +$(dist): export odb_header_stem := $(basename $(odb_hdr)) $(dist): export extra_dist := $(data_dist) $(call vc9projs,$(name)) \ $(call vc10projs,$(name)) $(dist): $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) + $(call meta-automake,../../template/Makefile.am) + $(call meta-vc9projs,../../template/template,$(name)) + $(call meta-vc10projs,../../template/template,$(name)) # Test. # diff --git a/common/circular/single/makefile b/common/circular/single/makefile index e1677d4..1fcfdb0 100644 --- a/common/circular/single/makefile +++ b/common/circular/single/makefile @@ -58,9 +58,9 @@ $(dist): export extra_dist := $(data_dist) $(call vc9projs,$(name)) \ $(call vc10projs,$(name)) $(dist): $(call dist-data,$(sources) $(headers) $(data_dist)) - $(call meta-automake,../template/Makefile.am) - $(call meta-vc9projs,../template/template,$(name)) - $(call meta-vc10projs,../template/template,$(name)) + $(call meta-automake,../../template/Makefile.am) + $(call meta-vc9projs,../../template/template,$(name)) + $(call meta-vc10projs,../../template/template,$(name)) # Test. # diff --git a/common/template/Makefile.am b/common/template/Makefile.am index 4478502..0aa8f83 100644 --- a/common/template/Makefile.am +++ b/common/template/Makefile.am @@ -13,15 +13,9 @@ AM_CPPFLAGS += -I'$(builddir)' -I'$(srcdir)' TESTS=$(top_builddir)/tester TESTS_ENVIRONMENT=top_builddir=$(top_builddir); export top_builddir; -m4_ifelse(__value__(odb_options),,, - +__ifelse__(__value__(odb_options),,, # ODB compilation. # -driver_SOURCES += test.hxx -nodist_driver_SOURCES = test-odb.cxx -BUILT_SOURCES = test-odb.hxx -CLEANFILES = test-odb.hxx test-odb.ixx test-odb.cxx - ODB = @ODB@ ODBFLAGS = @ODBFLAGS@ ODBCPPFLAGS = @ODBCPPFLAGS@ @@ -30,6 +24,17 @@ if HAVE_CXX11 ODBFLAGS += --std c++11 endif -test-odb.hxx: test.hxx +nodist_driver_SOURCES = +BUILT_SOURCES = +CLEANFILES = + +__foreach_w__(__f,__path__(odb_header_stem), +driver_SOURCES += __f.hxx +nodist_driver_SOURCES += __f-odb.cxx +BUILT_SOURCES += __f-odb.hxx +CLEANFILES += __f-odb.hxx __f-odb.ixx __f-odb.cxx + +__f-odb.hxx: __f.hxx $(ODB) $(AM_CPPFLAGS) $(ODBCPPFLAGS) $(CPPFLAGS) $(ODBFLAGS) __value__(odb_options) $< -) + +)) diff --git a/common/template/template-vc10.vcxproj b/common/template/template-vc10.vcxproj index 5666584..c1229ea 100644 --- a/common/template/template-vc10.vcxproj +++ b/common/template/template-vc10.vcxproj @@ -154,25 +154,30 @@ <OptimizeReferences>true</OptimizeReferences> </Link> </ItemDefinitionGroup> -m4_ifelse(__value__(odb_options),,, +__ifelse__(__value__(odb_options),,, m4_dnl <ItemGroup> -__custom_build_entry__( -test.hxx, -odb test.hxx, -odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) + __foreach_w__(__f,__path__(odb_header_stem), + __custom_build_entry__( +__f.hxx, +odb __f.hxx, +odb.exe --std c++11 __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1600 -I$(SolutionDir)\..\libcommon)) __f.hxx, +__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) +) </ItemGroup>) <ItemGroup> -m4_ifelse(__value__(odb_options),,, -__header_entry__(test-odb.hxx) -__header_entry__(test-odb.ixx)) -__header_entries__(extra_headers) +__ifelse__(__value__(odb_options),,, + __foreach_w__(__f,__path__(odb_header_stem), +__header_entry__(__f-odb.hxx) +__header_entry__(__f-odb.ixx) +))__header_entries__(extra_headers) </ItemGroup> <ItemGroup> __source_entry__(driver.cxx) -m4_ifelse(__value__(odb_options),,,__source_entry__(test-odb.cxx)) -__source_entries__(extra_sources) +__ifelse__(__value__(odb_options),,, + __foreach_w__(__f,__path__(odb_header_stem), +__source_entry__(__f-odb.cxx) +))__source_entries__(extra_sources) </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/common/template/template-vc10.vcxproj.filters b/common/template/template-vc10.vcxproj.filters index f3ee658..3460ffd 100644 --- a/common/template/template-vc10.vcxproj.filters +++ b/common/template/template-vc10.vcxproj.filters @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <Filter Include="Source Files"> @@ -11,14 +11,18 @@ </Filter> </ItemGroup> <ItemGroup> -__header_filter_entry__(test.hxx) -__header_filter_entry__(test-odb.hxx) -__header_filter_entry__(test-odb.ixx) -__header_filter_entries__(extra_headers) +__ifelse__(__value__(odb_options),,, + __foreach_w__(__f,__path__(odb_header_stem), +__header_filter_entry__(__f.hxx) +__header_filter_entry__(__f-odb.hxx) +__header_filter_entry__(__f-odb.ixx) +))__header_filter_entries__(extra_headers) </ItemGroup> <ItemGroup> __source_filter_entry__(driver.cxx) -__source_filter_entry__(test-odb.cxx) -__source_filter_entries__(extra_sources) +__ifelse__(__value__(odb_options),,, + __foreach_w__(__f,__path__(odb_header_stem), +__source_filter_entry__(__f-odb.cxx) +))__source_filter_entries__(extra_sources) </ItemGroup> -</Project>
\ No newline at end of file +</Project> diff --git a/common/template/template-vc9.vcproj b/common/template/template-vc9.vcproj index caf7201..a09174c 100644 --- a/common/template/template-vc9.vcproj +++ b/common/template/template-vc9.vcproj @@ -337,7 +337,9 @@ UniqueIdentifier="{__uuid__()}" > __source_entry__(driver.cxx) -m4_ifelse(__value__(odb_options),,,__source_entry__(test-odb.cxx)) +__ifelse__(__value__(odb_options),,, + __foreach_w__(__f,__path__(odb_header_stem), + __source_entry__(__f-odb.cxx))) __source_entries__(extra_sources) </Filter> <Filter @@ -345,14 +347,15 @@ __source_entries__(extra_sources) Filter="h;hxx;ixx;txx" UniqueIdentifier="{__uuid__()}" > -m4_ifelse(__value__(odb_options),,, -__file_entry_custom_build__( -test.hxx, -odb test.hxx, -odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) test.hxx, -test-odb.hxx;test-odb.ixx;test-odb.cxx) -__file_entry__(test-odb.hxx) -__file_entry__(test-odb.ixx)) +__ifelse__(__value__(odb_options),,, + __foreach_w__(__f,__path__(odb_header_stem), + __file_entry_custom_build__( +__f.hxx, +odb __f.hxx, +odb.exe __xml__(__shell_quotes__(m4_patsubst(__value__(odb_options), @database@, __value__(database)) -DHAVE_CONFIG_VC_H -DODB_MSC_VER=1500 -I$(SolutionDir)\..\libcommon)) __f.hxx, +__f-odb.hxx;__f-odb.ixx;__f-odb.cxx) +__file_entry__(__f-odb.hxx) +__file_entry__(__f-odb.ixx))) __file_entries__(extra_headers) </Filter> </Files> |