diff --git a/PanoPainter.xcodeproj/project.pbxproj b/PanoPainter.xcodeproj/project.pbxproj index c21f8f6..e6824d5 100644 --- a/PanoPainter.xcodeproj/project.pbxproj +++ b/PanoPainter.xcodeproj/project.pbxproj @@ -100,6 +100,8 @@ AD1063AA1EC7AE92002A525F /* node_text_input.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD1063771EC7ADFA002A525F /* node_text_input.cpp */; }; AD1063AB1EC7AE92002A525F /* node_text.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD1063791EC7ADFA002A525F /* node_text.cpp */; }; AD1063AC1EC7AE92002A525F /* node_viewport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD10637B1EC7ADFA002A525F /* node_viewport.cpp */; }; + AD2286C2214E9A0F0074567E /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD2286C0214E991A0074567E /* version.cpp */; }; + AD2286C3214E9A2B0074567E /* version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD2286C0214E991A0074567E /* version.cpp */; }; AD3087C2205F016F009F9260 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C1205F016F009F9260 /* AVFoundation.framework */; }; AD3087C4205F0177009F9260 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C3205F0177009F9260 /* AVFoundation.framework */; }; AD3087C62061D1B4009F9260 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AD3087C52061D1B3009F9260 /* CoreVideo.framework */; }; @@ -303,6 +305,9 @@ AD10637C1EC7ADFA002A525F /* node_viewport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node_viewport.h; sourceTree = ""; }; AD10637D1EC7ADFA002A525F /* node.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = node.cpp; sourceTree = ""; }; AD10637E1EC7ADFA002A525F /* node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = node.h; sourceTree = ""; }; + AD2286BE214E975D0074567E /* pre-build.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; name = "pre-build.py"; path = "scripts/pre-build.py"; sourceTree = SOURCE_ROOT; }; + AD2286BF214E99190074567E /* version.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = version.h; sourceTree = ""; }; + AD2286C0214E991A0074567E /* version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = version.cpp; sourceTree = ""; }; AD29CC601EA2B214008C8BFA /* action.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = action.cpp; sourceTree = ""; }; AD29CC611EA2B214008C8BFA /* action.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = action.h; sourceTree = ""; }; AD2FEBDA1F94A742002804DD /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = ""; }; @@ -414,10 +419,10 @@ ADE491131F86D09100FB8E92 /* sweep.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sweep.cc; path = libs/poly2tri/poly2tri/sweep/sweep.cc; sourceTree = ""; }; ADE491141F86D09100FB8E92 /* sweep_context.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sweep_context.cc; path = libs/poly2tri/poly2tri/sweep/sweep_context.cc; sourceTree = ""; }; ADE491151F86D09100FB8E92 /* cdt.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = cdt.cc; path = libs/poly2tri/poly2tri/sweep/cdt.cc; sourceTree = ""; }; - ADEBA9042069A4F30085AE16 /* objc_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = objc_utils.h; path = engine/objc_utils.h; sourceTree = SOURCE_ROOT; }; - ADEBA9052069A4F40085AE16 /* objc_utils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = objc_utils.cpp; path = engine/objc_utils.cpp; sourceTree = SOURCE_ROOT; }; - ADEBA9072069A50E0085AE16 /* objc_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = objc_utils.h; path = engine/objc_utils.h; sourceTree = SOURCE_ROOT; }; - ADEBA9082069A50E0085AE16 /* objc_utils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = objc_utils.cpp; path = engine/objc_utils.cpp; sourceTree = SOURCE_ROOT; }; + ADEBA9042069A4F30085AE16 /* objc_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = objc_utils.h; path = src/objc_utils.h; sourceTree = SOURCE_ROOT; }; + ADEBA9052069A4F40085AE16 /* objc_utils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = objc_utils.cpp; path = src/objc_utils.cpp; sourceTree = SOURCE_ROOT; }; + ADEBA9072069A50E0085AE16 /* objc_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = objc_utils.h; path = src/objc_utils.h; sourceTree = SOURCE_ROOT; }; + ADEBA9082069A50E0085AE16 /* objc_utils.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; name = objc_utils.cpp; path = src/objc_utils.cpp; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -593,9 +598,18 @@ name = ui; sourceTree = ""; }; + AD2286BC214E97460074567E /* sripts */ = { + isa = PBXGroup; + children = ( + AD2286BE214E975D0074567E /* pre-build.py */, + ); + path = sripts; + sourceTree = ""; + }; AD58E0461E107411006ACC15 = { isa = PBXGroup; children = ( + AD2286BC214E97460074567E /* sripts */, AD58E0731E3421CB006ACC15 /* libs */, AD58E0611E17F23D006ACC15 /* data */, AD58E0511E107411006ACC15 /* src */, @@ -666,6 +680,8 @@ AD58E06A1E2A774F006ACC15 /* texture.h */, ADB61C801E3D38450093280F /* util.cpp */, ADB61C811E3D38450093280F /* util.h */, + AD2286C0214E991A0074567E /* version.cpp */, + AD2286BF214E99190074567E /* version.h */, AD58E0521E107411006ACC15 /* main.cpp */, ); path = src; @@ -784,6 +800,7 @@ AD0E5C981ECC6F2B00C35669 /* Sources */, AD0E5C991ECC6F2B00C35669 /* Frameworks */, AD0E5C9A1ECC6F2B00C35669 /* Resources */, + AD2286BB214E96E60074567E /* Versioning */, AD30D8201F783B5600B6A112 /* CopyFiles */, ); buildRules = ( @@ -940,6 +957,23 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + AD2286BB214E96E60074567E /* Versioning */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = Versioning; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "# Use the commit count as CFBundleVersion\nGIT_COMMIT_COUNT=`git rev-list --count HEAD`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleVersion ${GIT_COMMIT_COUNT}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\"\n\n## Use the last annotated tag as CFBundleShortVersionString\nGIT_TAG=`git describe --tags --abbrev=0`\n/usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString ${GIT_TAG}\" \"${BUILT_PRODUCTS_DIR}/${INFOPLIST_PATH}\""; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ AD0E5C981ECC6F2B00C35669 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -972,6 +1006,7 @@ AD0E5CCA1ECC72AD00C35669 /* node_slider.cpp in Sources */, AD0E5CCE1ECC72AD00C35669 /* node_text.cpp in Sources */, AD0E5CDC1ECC72AD00C35669 /* image.cpp in Sources */, + AD2286C2214E9A0F0074567E /* version.cpp in Sources */, AD0E5CE01ECC72AD00C35669 /* shader.cpp in Sources */, ADC0EB3F1FBDC748004079BB /* node_colorwheel.cpp in Sources */, AD0E5CDD1ECC72AD00C35669 /* log.cpp in Sources */, @@ -1061,6 +1096,7 @@ ADD7D29F1EBF9E1C00D5A897 /* app.cpp in Sources */, AD1063A41EC7AE92002A525F /* node_panel_layer.cpp in Sources */, AD1063AA1EC7AE92002A525F /* node_text_input.cpp in Sources */, + AD2286C3214E9A2B0074567E /* version.cpp in Sources */, ADC0EB3E1FBDC748004079BB /* node_colorwheel.cpp in Sources */, ADD6AFD81F94DEB000E92461 /* node_progress_bar.cpp in Sources */, AD0E119B1ECA215600CDA6BB /* node_scroll.cpp in Sources */, @@ -1243,7 +1279,7 @@ GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = engine/pch.h; + GCC_PREFIX_HEADER = src/pch.h; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", @@ -1306,7 +1342,7 @@ GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = engine/pch.h; + GCC_PREFIX_HEADER = src/pch.h; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; diff --git a/scripts/pre-build.py b/scripts/pre-build.py index c6af7ad..93d0418 100644 --- a/scripts/pre-build.py +++ b/scripts/pre-build.py @@ -6,7 +6,7 @@ import re, subprocess, sys branch = check_output(["git", "rev-parse", "--abbrev-ref", "HEAD"]).rstrip().decode("utf-8") shorthash = check_output(["git", "log", "--pretty=format:%h", "-n 1"]).rstrip().decode("utf-8") -revcount = len(check_output(["git", "log", "--oneline"]).split(b'\n')) - 1 +revcount = int(check_output(["git", "rev-list", "--count", "HEAD"])) tag = check_output(["git", "describe", "--tags", "--abbrev=0"]).rstrip().decode("utf-8") config = sys.argv[1] diff --git a/src/version.cpp b/src/version.cpp index b49c6da..acbc1b0 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -1,11 +1,13 @@ #include "version.h" #include "version.gen.h" -#include "windows.h" const char* g_version = PP_VERSION_STRING; const char* g_version_number = PP_VERSION_NUMBER_STRING; const char* g_window_title = "PanoPainter " PP_VERSION_NUMBER_STRING; +#ifdef _WIN32 +#include "windows.h" const wchar_t* g_version_w = TEXT(PP_VERSION_STRING); const wchar_t* g_version_number_w = TEXT(PP_VERSION_NUMBER_STRING); const wchar_t* g_window_title_w = L"PanoPainter " TEXT(PP_VERSION_NUMBER_STRING); +#endif diff --git a/src/version.h b/src/version.h index 6f70250..70fd567 100644 --- a/src/version.h +++ b/src/version.h @@ -4,6 +4,8 @@ extern const char* g_version; extern const char* g_version_number; extern const char* g_window_title; +#ifdef _WIN32 extern const wchar_t* g_version_w; extern const wchar_t* g_version_number_w; extern const wchar_t* g_window_title_w; +#endif