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