Skip to content

Commit 99819bf

Browse files
committed
MacOSX bundle check
Signed-off-by: Martin <Ho-Ro@users.noreply.github.com>
1 parent ad9bc9a commit 99819bf

File tree

6 files changed

+74
-17
lines changed

6 files changed

+74
-17
lines changed

.travis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ script:
4040
- if test -d openhantek/OpenHantek.app; then
4141
export PATH=${CMAKE_PREFIX_PATH}/bin:${PATH} ;
4242
cd openhantek ;
43-
macdeployqt OpenHantek.app -always-overwrite -verbose=2 ;
43+
macdeployqt OpenHantek.app -always-overwrite -verbose=1 ;
4444
python ../../utils/macdeployqtfix/macdeployqtfix.py OpenHantek.app/Contents/MacOS/OpenHantek ${CMAKE_PREFIX_PATH} ;
45-
create-dmg --volname OpenHantek OpenHantek.dmg OpenHantek.app ;
45+
create-dmg --volname OpenHantek --volicon ../../openhantek/res/images/openhantek.icns --window-pos 200 120 --window-size 800 400 --icon-size 100 --icon "OpenHantek.app" 200 190 --hide-extension "OpenHantek.app" --app-drop-link 600 185 --eula ../../LICENSE OpenHantek.dmg OpenHantek.app ;
4646
ls -lhAFRO@ OpenHantek.* ;
4747
xattr -l OpenHantek.dmg ;
4848
cd .. ;

LICENSE

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
This work is released under the terms of the GNU General Public License, version 3.
2+
The full text of the license can be found at https://www.gnu.org/licenses/gpl-3.0.html

cmake/CPackInfos.cmake

+6-3
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,24 @@ if (GIT_EXECUTABLE AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
1010
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
1111
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
1212
RESULT_VARIABLE CMD_RESULT
13-
# OUTPUT_VARIABLE VCS_REVISION
13+
OUTPUT_VARIABLE VCS_REVISION
1414
OUTPUT_STRIP_TRAILING_WHITESPACE
1515
)
1616
endif()
17+
# message( STATUS "VCS_REVISION: ${VCS_REVISION}" )
1718

1819
if(NOT DEFINED CMD_RESULT)
1920
set(VCS_BRANCH "master")
2021
set(GIT_COMMIT_HASH "1")
21-
# set(VCS_REVISION "na")
22+
set(VCS_REVISION "na")
2223
else()
2324
execute_process(
2425
COMMAND git log -1 --format=%h
2526
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
2627
OUTPUT_VARIABLE GIT_COMMIT_HASH
2728
OUTPUT_STRIP_TRAILING_WHITESPACE
2829
)
30+
# message( STATUS "GIT_COMMIT_HASH: ${GIT_COMMIT_HASH}" )
2931

3032
execute_process(
3133
COMMAND ${GIT_EXECUTABLE} status
@@ -41,7 +43,7 @@ else()
4143
string(REPLACE " " ";" DESCRIBE_STATUS ${DESCRIBE_STATUS})
4244
list(GET DESCRIBE_STATUS 2 VCS_BRANCH)
4345

44-
message(STATUS "Branch: ${VCS_BRANCH}") # /${VCS_REVISION}")
46+
# message(STATUS "Branch: ${VCS_BRANCH}") # /${VCS_REVISION}")
4547

4648
execute_process(
4749
COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url
@@ -50,6 +52,7 @@ else()
5052
OUTPUT_VARIABLE VCS_URL
5153
OUTPUT_STRIP_TRAILING_WHITESPACE
5254
)
55+
# message( STATUS "VCS_URL: ${VCS_URL}")
5356

5457
set(ENV{LANG} "en_US")
5558
if(GIT_VERSION_STRING VERSION_LESS 2.6)

cmake/OpenHantekBundleInfo.plist.in

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3+
<plist version="1.0">
4+
<dict>
5+
<key>CFBundleDevelopmentRegion</key>
6+
<string>English</string>
7+
<key>CFBundleExecutable</key>
8+
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
9+
<key>CFBundleGetInfoString</key>
10+
<string>${MACOSX_BUNDLE_INFO_STRING}</string>
11+
<key>CFBundleIconFile</key>
12+
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
13+
<key>CFBundleIdentifier</key>
14+
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
15+
<key>CFBundleInfoDictionaryVersion</key>
16+
<string>6.0</string>
17+
<key>CFBundleLongVersionString</key>
18+
<string>${MACOSX_BUNDLE_LONG_VERSION_STRING}</string>
19+
<key>CFBundleName</key>
20+
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
21+
<key>CFBundlePackageType</key>
22+
<string>APPL</string>
23+
<key>CFBundleShortVersionString</key>
24+
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
25+
<key>CFBundleSignature</key>
26+
<string>????</string>
27+
<key>CFBundleVersion</key>
28+
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
29+
<key>CSResourcesFileMapped</key>
30+
<true/>
31+
<key>NSHumanReadableCopyright</key>
32+
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
33+
<key>NSPrincipalClass</key>
34+
<string>NSApplication</string>
35+
<key>NSHighResolutionCapable</key>
36+
<string>True</string>
37+
</dict>
38+
</plist>

openhantek/CMakeLists.txt

+25-11
Original file line numberDiff line numberDiff line change
@@ -31,17 +31,31 @@ add_custom_target(format SOURCES ".clang-format"
3131
include(translations/Translations.cmake)
3232

3333
add_definitions(-DVERSION="${CPACK_PACKAGE_VERSION}")
34+
message( STATUS "VERSION: ${CPACK_PACKAGE_VERSION}" )
3435

35-
option(BUILD_MACOSX_BUNDLE "Build MacOS app bundle" ON)
3636
set(EXECTYPE "")
3737
if(WIN32 AND MINGW)
3838
set(EXECTYPE WIN32)
3939
endif()
40-
if(APPLE AND BUILD_MACOSX_BUNDLE)
41-
set(EXECTYPE MACOSX_BUNDLE)
42-
set(MACOSX_BUNDLE_ICON_FILE openhantek.icns)
43-
set(ICONS ${CMAKE_CURRENT_SOURCE_DIR}/res/images/openhantek.icns)
44-
set_source_files_properties(${ICONS} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
40+
41+
# Enable MacOSX bundle magic in the next line
42+
option(BUILD_MACOSX_BUNDLE "Build MacOS app bundle" ON)
43+
#
44+
if( APPLE AND BUILD_MACOSX_BUNDLE )
45+
# Use own template that defines NSPrincipalClass=NSApplication & NSHighResolutionCapable=True
46+
set( MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_LIST_DIR}/../cmake/OpenHantekBundleInfo.plist.in )
47+
#
48+
set( EXECTYPE MACOSX_BUNDLE )
49+
set( MACOSX_BUNDLE_BUNDLE_NAME "${PROJECT_NAME}" )
50+
set( MACOSX_BUNDLE_INFO_STRING "Digital oscilloscope software for Hantek DSO6022" )
51+
set( MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME}" )
52+
set( MACOSX_BUNDLE_SHORT_VERSION_STRING ${DATE_VERSION} )
53+
set( MACOSX_BUNDLE_BUNDLE_VERSION ${CPACK_PACKAGE_VERSION} )
54+
string(TIMESTAMP THISYEAR "%Y")
55+
set( MACOSX_BUNDLE_COPYRIGHT "(C) 2012-${THISYEAR} OpenHantek community" )
56+
set( MACOSX_BUNDLE_ICON_FILE openhantek.icns )
57+
set( ICONS ${CMAKE_CURRENT_SOURCE_DIR}/res/images/openhantek.icns )
58+
set_source_files_properties( ${ICONS} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" )
4559
endif()
4660

4761
# make executable
@@ -77,15 +91,15 @@ endif()
7791

7892
# install commands
7993
if (APPLE AND BUILD_MACOSX_BUNDLE)
80-
set_target_properties(${PROJECT_NAME} PROPERTIES
81-
MACOSX_BUNDLE_NAME "${PROJECT_NAME}"
82-
MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME}"
83-
)
94+
# set_target_properties(${PROJECT_NAME} PROPERTIES
95+
# MACOSX_BUNDLE_NAME "${PROJECT_NAME}"
96+
# # MACOSX_BUNDLE_GUI_IDENTIFIER "${PROJECT_NAME}"
97+
# )
8498
# no install, it's already in openhantek/OpenHantek.app/...
8599
# install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION ${CMAKE_BINARY_DIR}/${PROJECT_NAME}.app/Contents/MacOS/${PROJECT_NAME})
86100
# install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION ${CMAKE_BINARY_DIR}) # -> build
87101
else()
88-
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION "bin")
102+
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION "bin")
89103
endif()
90104
include(../cmake/copy_qt5_dlls_to_bin_dir.cmake)
91105

openhantek/src/OH_BUILD.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
// Do not edit, will be re-created at each commit!
2-
#define OH_BUILD "20191105 build 539"
2+
#define OH_BUILD "20191106 build 540"

0 commit comments

Comments
 (0)