From b62f179e9640985157d7669d3daa102a2d64a1c5 Mon Sep 17 00:00:00 2001 From: Sam Hatchett Date: Tue, 15 Sep 2015 11:42:07 -0400 Subject: [PATCH] more build file targets related to float-precision builds, and comments about the use of that define --- build/Xcode/epanet.xcodeproj/project.pbxproj | 200 +++++++++++++++++++ include/epanet2.h | 2 + 2 files changed, 202 insertions(+) diff --git a/build/Xcode/epanet.xcodeproj/project.pbxproj b/build/Xcode/epanet.xcodeproj/project.pbxproj index f13950a..02864fd 100755 --- a/build/Xcode/epanet.xcodeproj/project.pbxproj +++ b/build/Xcode/epanet.xcodeproj/project.pbxproj @@ -8,6 +8,23 @@ /* Begin PBXBuildFile section */ 223109E61BA865930030AAE8 /* Net3.inp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 223109E31BA8658A0030AAE8 /* Net3.inp */; }; + 223109EB1BA869DA0030AAE8 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CD9A5D1B27898E00B65E83 /* main.c */; }; + 223109ED1BA869DA0030AAE8 /* libepanet-static.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2255753B17551217009946B1 /* libepanet-static.a */; }; + 223109EF1BA869DA0030AAE8 /* Net3.inp in CopyFiles */ = {isa = PBXBuildFile; fileRef = 223109E31BA8658A0030AAE8 /* Net3.inp */; }; + 223109F61BA869F30030AAE8 /* epanet.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F711068369500641384 /* epanet.c */; }; + 223109F71BA869F30030AAE8 /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F731068369500641384 /* hash.c */; }; + 223109F81BA869F30030AAE8 /* hydraul.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F751068369500641384 /* hydraul.c */; }; + 223109F91BA869F30030AAE8 /* inpfile.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F761068369500641384 /* inpfile.c */; }; + 223109FA1BA869F30030AAE8 /* input1.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F771068369500641384 /* input1.c */; }; + 223109FB1BA869F30030AAE8 /* input2.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F781068369500641384 /* input2.c */; }; + 223109FC1BA869F30030AAE8 /* input3.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F791068369500641384 /* input3.c */; }; + 223109FD1BA869F30030AAE8 /* mempool.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F7A1068369500641384 /* mempool.c */; }; + 223109FE1BA869F30030AAE8 /* output.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F7C1068369500641384 /* output.c */; }; + 223109FF1BA869F30030AAE8 /* quality.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F7D1068369500641384 /* quality.c */; }; + 22310A001BA869F30030AAE8 /* report.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F7E1068369500641384 /* report.c */; }; + 22310A011BA869F30030AAE8 /* rules.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F7F1068369500641384 /* rules.c */; }; + 22310A021BA869F30030AAE8 /* smatrix.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F801068369500641384 /* smatrix.c */; }; + 22310A051BA869F30030AAE8 /* epanet2.h in Headers */ = {isa = PBXBuildFile; fileRef = 22322FA9106836B000641384 /* epanet2.h */; }; 22322F851068369500641384 /* enumstxt.h in Headers */ = {isa = PBXBuildFile; fileRef = 22322F701068369500641384 /* enumstxt.h */; }; 22322F861068369500641384 /* epanet.c in Sources */ = {isa = PBXBuildFile; fileRef = 22322F711068369500641384 /* epanet.c */; }; 22322F871068369500641384 /* funcs.h in Headers */ = {isa = PBXBuildFile; fileRef = 22322F721068369500641384 /* funcs.h */; }; @@ -48,6 +65,13 @@ /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 223109E91BA869DA0030AAE8 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 2255753A17551217009946B1; + remoteInfo = "epanet-static"; + }; 22CD9A5F1B278B0400B65E83 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */; @@ -68,12 +92,24 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 223109EE1BA869DA0030AAE8 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 6; + files = ( + 223109EF1BA869DA0030AAE8 /* Net3.inp in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 223109E31BA8658A0030AAE8 /* Net3.inp */ = {isa = PBXFileReference; lastKnownFileType = text; name = Net3.inp; path = "../../example-networks/Net3.inp"; sourceTree = ""; }; 223109E41BA8658A0030AAE8 /* sampletown.inp */ = {isa = PBXFileReference; lastKnownFileType = text; name = sampletown.inp; path = "../../example-networks/sampletown.inp"; sourceTree = ""; }; 223109E51BA8658A0030AAE8 /* simplenet.inp */ = {isa = PBXFileReference; lastKnownFileType = text; name = simplenet.inp; path = "../../example-networks/simplenet.inp"; sourceTree = ""; }; + 223109F31BA869DA0030AAE8 /* runepanet copy */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "runepanet copy"; sourceTree = BUILT_PRODUCTS_DIR; }; + 22310A091BA869F30030AAE8 /* libepanet-static copy.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libepanet-static copy.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 22322F66106833BB00641384 /* runepanet */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = runepanet; sourceTree = BUILT_PRODUCTS_DIR; }; 22322F701068369500641384 /* enumstxt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = enumstxt.h; path = ../../src/enumstxt.h; sourceTree = SOURCE_ROOT; }; 22322F711068369500641384 /* epanet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; lineEnding = 2; name = epanet.c; path = ../../src/epanet.c; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.c; }; @@ -102,6 +138,21 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 223109EC1BA869DA0030AAE8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 223109ED1BA869DA0030AAE8 /* libepanet-static.a in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 22310A031BA869F30030AAE8 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; 22322F64106833BB00641384 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -172,6 +223,8 @@ D2AAC0630554660B00DB518D /* libepanet.dylib */, 22322F66106833BB00641384 /* runepanet */, 2255753B17551217009946B1 /* libepanet-static.a */, + 223109F31BA869DA0030AAE8 /* runepanet copy */, + 22310A091BA869F30030AAE8 /* libepanet-static copy.a */, ); name = Products; sourceTree = ""; @@ -205,6 +258,14 @@ /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ + 22310A041BA869F30030AAE8 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 22310A051BA869F30030AAE8 /* epanet2.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 2255753917551217009946B1 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; @@ -231,6 +292,41 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ + 223109E71BA869DA0030AAE8 /* runepanet float-precision */ = { + isa = PBXNativeTarget; + buildConfigurationList = 223109F01BA869DA0030AAE8 /* Build configuration list for PBXNativeTarget "runepanet float-precision" */; + buildPhases = ( + 223109EA1BA869DA0030AAE8 /* Sources */, + 223109EC1BA869DA0030AAE8 /* Frameworks */, + 223109EE1BA869DA0030AAE8 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + 223109E81BA869DA0030AAE8 /* PBXTargetDependency */, + ); + name = "runepanet float-precision"; + productName = runepanet; + productReference = 223109F31BA869DA0030AAE8 /* runepanet copy */; + productType = "com.apple.product-type.tool"; + }; + 223109F41BA869F30030AAE8 /* epanet-static float-precision */ = { + isa = PBXNativeTarget; + buildConfigurationList = 22310A061BA869F30030AAE8 /* Build configuration list for PBXNativeTarget "epanet-static float-precision" */; + buildPhases = ( + 223109F51BA869F30030AAE8 /* Sources */, + 22310A031BA869F30030AAE8 /* Frameworks */, + 22310A041BA869F30030AAE8 /* Headers */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "epanet-static float-precision"; + productName = "epanet-static"; + productReference = 22310A091BA869F30030AAE8 /* libepanet-static copy.a */; + productType = "com.apple.product-type.library.static"; + }; 22322F65106833BB00641384 /* runepanet */ = { isa = PBXNativeTarget; buildConfigurationList = 22322F6A106833E600641384 /* Build configuration list for PBXNativeTarget "runepanet" */; @@ -308,11 +404,41 @@ D2AAC0620554660B00DB518D /* epanet */, 22322F65106833BB00641384 /* runepanet */, 2255753A17551217009946B1 /* epanet-static */, + 223109E71BA869DA0030AAE8 /* runepanet float-precision */, + 223109F41BA869F30030AAE8 /* epanet-static float-precision */, ); }; /* End PBXProject section */ /* Begin PBXSourcesBuildPhase section */ + 223109EA1BA869DA0030AAE8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 223109EB1BA869DA0030AAE8 /* main.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 223109F51BA869F30030AAE8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 223109F61BA869F30030AAE8 /* epanet.c in Sources */, + 223109F71BA869F30030AAE8 /* hash.c in Sources */, + 223109F81BA869F30030AAE8 /* hydraul.c in Sources */, + 223109F91BA869F30030AAE8 /* inpfile.c in Sources */, + 223109FA1BA869F30030AAE8 /* input1.c in Sources */, + 223109FB1BA869F30030AAE8 /* input2.c in Sources */, + 223109FC1BA869F30030AAE8 /* input3.c in Sources */, + 223109FD1BA869F30030AAE8 /* mempool.c in Sources */, + 223109FE1BA869F30030AAE8 /* output.c in Sources */, + 223109FF1BA869F30030AAE8 /* quality.c in Sources */, + 22310A001BA869F30030AAE8 /* report.c in Sources */, + 22310A011BA869F30030AAE8 /* rules.c in Sources */, + 22310A021BA869F30030AAE8 /* smatrix.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 22322F63106833BB00641384 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -364,6 +490,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 223109E81BA869DA0030AAE8 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 2255753A17551217009946B1 /* epanet-static */; + targetProxy = 223109E91BA869DA0030AAE8 /* PBXContainerItemProxy */; + }; 22CD9A601B278B0400B65E83 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 2255753A17551217009946B1 /* epanet-static */; @@ -451,6 +582,57 @@ }; name = Release; }; + 223109F11BA869DA0030AAE8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + GCC_MODEL_TUNING = G5; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ""; + INFOPLIST_PREPROCESSOR_DEFINITIONS = ""; + PRODUCT_NAME = "runepanet copy"; + }; + name = Debug; + }; + 223109F21BA869DA0030AAE8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + GCC_MODEL_TUNING = G5; + GCC_PREPROCESSOR_DEFINITIONS = ""; + INFOPLIST_PREPROCESSOR_DEFINITIONS = ""; + PRODUCT_NAME = "runepanet copy"; + ZERO_LINK = NO; + }; + name = Release; + }; + 22310A071BA869F30030AAE8 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_EMPTY_BODY = YES; + COMBINE_HIDPI_IMAGES = YES; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + PRODUCT_NAME = "epanet-static copy"; + }; + name = Debug; + }; + 22310A081BA869F30030AAE8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_EMPTY_BODY = YES; + COMBINE_HIDPI_IMAGES = YES; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + PRODUCT_NAME = "epanet-static copy"; + }; + name = Release; + }; 22322F68106833BC00641384 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -525,6 +707,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + 223109F01BA869DA0030AAE8 /* Build configuration list for PBXNativeTarget "runepanet float-precision" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 223109F11BA869DA0030AAE8 /* Debug */, + 223109F21BA869DA0030AAE8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 22310A061BA869F30030AAE8 /* Build configuration list for PBXNativeTarget "epanet-static float-precision" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 22310A071BA869F30030AAE8 /* Debug */, + 22310A081BA869F30030AAE8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 22322F6A106833E600641384 /* Build configuration list for PBXNativeTarget "runepanet" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/include/epanet2.h b/include/epanet2.h index b2d730c..5380dbb 100755 --- a/include/epanet2.h +++ b/include/epanet2.h @@ -18,6 +18,8 @@ #ifndef EPANET2_H #define EPANET2_H +// the toolkit can be compiled with support for double-precision as well. +// just make sure that you use the correct #define in your client code. #ifndef EN_API_FLOAT_TYPE #define EN_API_FLOAT_TYPE float #endif