diff --git a/launchers/darwin/CMakeLists.txt b/launchers/darwin/CMakeLists.txt
index 0a7ef70461..177a7722e5 100644
--- a/launchers/darwin/CMakeLists.txt
+++ b/launchers/darwin/CMakeLists.txt
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.0)
set(ENV{MACOSX_DEPLOYMENT_TARGET} 10.9)
project(HQLauncher)
set (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
+include("cmake/macros/SetPackagingParameters.cmake")
set(src_files
src/Launcher.h
src/Launcher.m
@@ -59,15 +60,17 @@ set_target_properties(${this_target} PROPERTIES
set(MACOSX_BUNDLE_ICON_FILE "interface.icns")
function(set_from_env _RESULT_NAME _ENV_VAR_NAME _DEFAULT_VALUE)
- if (NOT DEFINED ${_RESULT_NAME})
- if ("$ENV{${_ENV_VAR_NAME}}" STREQUAL "")
- set (${_RESULT_NAME} ${_DEFAULT_VALUE} PARENT_SCOPE)
- else()
- set (${_RESULT_NAME} $ENV{${_ENV_VAR_NAME}} PARENT_SCOPE)
- endif()
+ if (NOT DEFINED ${_RESULT_NAME})
+ if ("$ENV{${_ENV_VAR_NAME}}" STREQUAL "")
+ set (${_RESULT_NAME} ${_DEFAULT_VALUE} PARENT_SCOPE)
+ else()
+ set (${_RESULT_NAME} $ENV{${_ENV_VAR_NAME}} PARENT_SCOPE)
endif()
+ endif()
endfunction()
+ set_packaging_parameters()
+
add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${src_files})
set_target_properties(${PROJECT_NAME} PROPERTIES OUTPUT_NAME ${APP_NAME}
MACOSX_BUNDLE_BUNDLE_NAME ${APP_NAME})
@@ -77,6 +80,7 @@ if ("${LAUNCHER_HMAC_SECRET}" STREQUAL "")
endif()
target_compile_definitions(${PROJECT_NAME} PRIVATE LAUNCHER_HMAC_SECRET="${LAUNCHER_HMAC_SECRET}")
+target_compile_definitions(${PROJECT_NAME} PRIVATE LAUNCHER_BUILD_VERSION="${BUILD_VERSION}")
file(GLOB NIB_FILES "nib/*.xib")
diff --git a/launchers/darwin/cmake/macros/SetPackagingParameters.cmake b/launchers/darwin/cmake/macros/SetPackagingParameters.cmake
new file mode 100644
index 0000000000..ed24b3bd6b
--- /dev/null
+++ b/launchers/darwin/cmake/macros/SetPackagingParameters.cmake
@@ -0,0 +1,45 @@
+#
+# SetPackagingParameters.cmake
+# cmake/macros
+#
+# Created by Leonardo Murillo on 07/14/2015.
+# Copyright 2015 High Fidelity, Inc.
+#
+# Distributed under the Apache License, Version 2.0.
+# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
+
+# This macro checks some Jenkins defined environment variables to determine the origin of this build
+# and decides how targets should be packaged.
+
+macro(SET_PACKAGING_PARAMETERS)
+ set(PR_BUILD 0)
+ set(PRODUCTION_BUILD 0)
+ set(DEV_BUILD 0)
+ set(BUILD_NUMBER 0)
+
+ set_from_env(RELEASE_TYPE RELEASE_TYPE "DEV")
+ set_from_env(RELEASE_NUMBER RELEASE_NUMBER "")
+ set_from_env(STABLE_BUILD STABLE_BUILD 0)
+
+ message(STATUS "The RELEASE_TYPE variable is: ${RELEASE_TYPE}")
+ set(BUILD_NUMBER ${RELEASE_NUMBER})
+
+ if (RELEASE_TYPE STREQUAL "PRODUCTION")
+ set(PRODUCTION_BUILD 1)
+ set(BUILD_VERSION ${RELEASE_NUMBER})
+
+ # add definition for this release type
+ add_definitions(-DPRODUCTION_BUILD)
+
+ elseif (RELEASE_TYPE STREQUAL "PR")
+ set(PR_BUILD 1)
+ set(BUILD_VERSION "PR${RELEASE_NUMBER}")
+
+ # add definition for this release type
+ add_definitions(-DPR_BUILD)
+ else ()
+ set(DEV_BUILD 1)
+ set(BUILD_VERSION "dev")
+ endif ()
+
+endmacro(SET_PACKAGING_PARAMETERS)
diff --git a/launchers/darwin/nib/DisplayNameScreen.xib b/launchers/darwin/nib/DisplayNameScreen.xib
index 94fa739f8e..9862c3773b 100644
--- a/launchers/darwin/nib/DisplayNameScreen.xib
+++ b/launchers/darwin/nib/DisplayNameScreen.xib
@@ -102,12 +102,22 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/launchers/darwin/nib/ErrorScreen.xib b/launchers/darwin/nib/ErrorScreen.xib
index 26abe80b29..267c9b2f29 100644
--- a/launchers/darwin/nib/ErrorScreen.xib
+++ b/launchers/darwin/nib/ErrorScreen.xib
@@ -69,12 +69,22 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/launchers/darwin/nib/LoginScreen.xib b/launchers/darwin/nib/LoginScreen.xib
index fc1ccfcc90..3ae91632c2 100644
--- a/launchers/darwin/nib/LoginScreen.xib
+++ b/launchers/darwin/nib/LoginScreen.xib
@@ -119,12 +119,22 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/launchers/darwin/nib/ProcessScreen.xib b/launchers/darwin/nib/ProcessScreen.xib
index d16d71e5fa..c32abb5f9d 100644
--- a/launchers/darwin/nib/ProcessScreen.xib
+++ b/launchers/darwin/nib/ProcessScreen.xib
@@ -53,6 +53,15 @@
+
+
+
+
+
+
+
+
+
@@ -60,6 +69,7 @@
+
diff --git a/launchers/darwin/nib/SplashScreen.xib b/launchers/darwin/nib/SplashScreen.xib
index 3bbed22a59..988de78399 100644
--- a/launchers/darwin/nib/SplashScreen.xib
+++ b/launchers/darwin/nib/SplashScreen.xib
@@ -26,11 +26,21 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/launchers/darwin/src/DisplayNameScreen.m b/launchers/darwin/src/DisplayNameScreen.m
index 581eabc4ee..ecb619dc01 100644
--- a/launchers/darwin/src/DisplayNameScreen.m
+++ b/launchers/darwin/src/DisplayNameScreen.m
@@ -6,6 +6,7 @@
@property (nonatomic, assign) IBOutlet NSImageView* backgroundImage;
@property (nonatomic, assign) IBOutlet NSImageView* smallLogo;
@property (nonatomic, assign) IBOutlet NSTextField* displayName;
+@property (nonatomic, assign) IBOutlet NSTextField* buildVersion;
@end
@implementation DisplayNameScreen
@@ -13,10 +14,9 @@
[self.backgroundImage setImage: [NSImage imageNamed:hifiBackgroundFilename]];
[self.smallLogo setImage: [NSImage imageNamed:hifiSmallLogoFilename]];
NSMutableAttributedString* displayNameString = [[NSMutableAttributedString alloc] initWithString:@"Display Name"];
-
+ [self.buildVersion setStringValue: [@"V." stringByAppendingString:@LAUNCHER_BUILD_VERSION]];
[displayNameString addAttribute:NSForegroundColorAttributeName value:[NSColor grayColor] range:NSMakeRange(0, displayNameString.length)];
[displayNameString addAttribute:NSFontAttributeName value:[NSFont systemFontOfSize:18] range:NSMakeRange(0,displayNameString.length)];
-
[self.displayName setPlaceholderAttributedString:displayNameString];
[self.displayName setTarget:self];
[self.displayName setAction:@selector(login:)];
diff --git a/launchers/darwin/src/ErrorViewController.m b/launchers/darwin/src/ErrorViewController.m
index 84dee95678..af45175254 100644
--- a/launchers/darwin/src/ErrorViewController.m
+++ b/launchers/darwin/src/ErrorViewController.m
@@ -6,6 +6,7 @@
@property (nonatomic, assign) IBOutlet NSImageView* backgroundImage;
@property (nonatomic, assign) IBOutlet NSImageView* smallLogo;
@property (nonatomic, assign) IBOutlet NSImageView* voxelImage;
+@property (nonatomic, assign) IBOutlet NSTextField* buildVersion;
@end
@@ -16,6 +17,7 @@
[self.backgroundImage setImage:[NSImage imageNamed:hifiBackgroundFilename]];
[self.smallLogo setImage:[NSImage imageNamed:hifiSmallLogoFilename]];
[self.voxelImage setImage:[NSImage imageNamed:hifiVoxelFilename]];
+ [self.buildVersion setStringValue: [@"V." stringByAppendingString:@LAUNCHER_BUILD_VERSION]];
}
-(IBAction)resartLauncher:(id)sender
diff --git a/launchers/darwin/src/LoginScreen.m b/launchers/darwin/src/LoginScreen.m
index d654a14f1b..5b8cab2db6 100644
--- a/launchers/darwin/src/LoginScreen.m
+++ b/launchers/darwin/src/LoginScreen.m
@@ -12,6 +12,7 @@
@property (nonatomic, assign) IBOutlet NSTextField* smallHeader;
@property (nonatomic, assign) IBOutlet NSTextField* trouble;
@property (nonatomic, assign) IBOutlet NSButton* button;
+@property (nonatomic, assign) IBOutlet NSTextField* buildVersion;
@end
@implementation LoginScreen
@@ -36,6 +37,7 @@
[self.button setTitle:@"TRY AGAIN"];
}
+ [self.buildVersion setStringValue: [@"V." stringByAppendingString:@LAUNCHER_BUILD_VERSION]];
[self.backgroundImage setImage:[NSImage imageNamed:hifiBackgroundFilename]];
[self.smallLogo setImage:[NSImage imageNamed:hifiSmallLogoFilename]];
diff --git a/launchers/darwin/src/ProcessScreen.m b/launchers/darwin/src/ProcessScreen.m
index 85ec5c8d5b..876be3fea3 100644
--- a/launchers/darwin/src/ProcessScreen.m
+++ b/launchers/darwin/src/ProcessScreen.m
@@ -9,6 +9,7 @@
@property (nonatomic, assign) IBOutlet NSTextField* boldStatus;
@property (nonatomic, assign) IBOutlet NSTextField* smallStatus;
@property (nonatomic, assign) IBOutlet NSProgressIndicator* progressView;
+@property (nonatomic, assign) IBOutlet NSTextField* buildVersion;
@end
@implementation ProcessScreen
@@ -37,6 +38,7 @@
default:
break;
}
+ [self.buildVersion setStringValue: [@"V." stringByAppendingString:@LAUNCHER_BUILD_VERSION]];
[self.background setImage: [NSImage imageNamed:hifiBackgroundFilename]];
[self.smallLogo setImage: [NSImage imageNamed:hifiSmallLogoFilename]];
[self.voxelImage setImage: [NSImage imageNamed:hifiVoxelFilename]];
diff --git a/launchers/darwin/src/SplashScreen.m b/launchers/darwin/src/SplashScreen.m
index a1f726c1df..87d8681629 100644
--- a/launchers/darwin/src/SplashScreen.m
+++ b/launchers/darwin/src/SplashScreen.m
@@ -6,6 +6,7 @@
@property (nonatomic, assign) IBOutlet NSImageView* imageView;
@property (nonatomic, assign) IBOutlet NSImageView* logoImage;
@property (nonatomic, assign) IBOutlet NSButton* button;
+@property (nonatomic, assign) IBOutlet NSTextField* buildVersion;
@end
@implementation SplashScreen
@@ -15,5 +16,6 @@
-(void)awakeFromNib {
[self.imageView setImage:[NSImage imageNamed:hifiBackgroundFilename]];
[self.logoImage setImage:[NSImage imageNamed:hifiLargeLogoFilename]];
+ [self.buildVersion setStringValue: [@"V." stringByAppendingString:@LAUNCHER_BUILD_VERSION]];
}
@end