build: Revised macOS bundle generation script and info (issue #730)
This commit is contained in:
+13
-12
@@ -101,6 +101,7 @@ endif()
|
||||
set(Boost_USE_MULTITHREAD ON)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(Boost_USE_STATIC_RUNTIME OFF)
|
||||
|
||||
find_package(Boost 1.68 COMPONENTS system program_options filesystem date_time REQUIRED)
|
||||
|
||||
|
||||
@@ -645,16 +646,14 @@ endif ()
|
||||
add_dependencies(${APP_PROJECT_NAME} ${APP_INDEXER_NAME})
|
||||
|
||||
|
||||
# MacOSX Bundle ----------------------------------------------------------------
|
||||
# macOS Bundle ----------------------------------------------------------------
|
||||
|
||||
if (APPLE)
|
||||
|
||||
set(MACOSX_BUNDLE_NAME ${PROJECT_NAME})
|
||||
set(MACOSX_BINARY_NAME ${APP_PROJECT_NAME})
|
||||
set(MACOSX_INDEXER_BINARY_NAME ${APP_INDEXER_NAME})
|
||||
|
||||
set(MACOSX_DYNAMIC_LIBRARIES "")
|
||||
string(REPLACE ";" " " MACOSX_DYNAMIC_LIBRARIES "${MACOSX_DYNAMIC_LIBRARIES}")
|
||||
set(MACOS_BUNDLE_NAME ${PROJECT_NAME})
|
||||
set(MACOS_BUNDLE_VERSION ${VERSION_STRING})
|
||||
set(MACOS_BINARY_NAME ${APP_PROJECT_NAME})
|
||||
set(MACOS_INDEXER_BINARY_NAME ${APP_INDEXER_NAME})
|
||||
|
||||
get_property(QT_CORE_PATH TARGET ${Qt5Core_LIBRARIES} PROPERTY LOCATION)
|
||||
get_filename_component(QT_CORE_PATH ${QT_CORE_PATH} REALPATH)
|
||||
@@ -674,19 +673,21 @@ if (APPLE)
|
||||
get_property(QT_SVG_PATH TARGET ${Qt5Svg_LIBRARIES} PROPERTY LOCATION)
|
||||
get_filename_component(QT_SVG_PATH ${QT_SVG_PATH} REALPATH)
|
||||
|
||||
list(APPEND MACOSX_QT_FRAMEWORKS ${QT_CORE_PATH} ${QT_GUI_PATH} ${QT_WIDGETS_PATH} ${QT_PRINT_PATH} ${QT_NETWORK_PATH} ${QT_SVG_PATH})
|
||||
string(REPLACE ";" " " MACOSX_QT_FRAMEWORKS "${MACOSX_QT_FRAMEWORKS}")
|
||||
list(APPEND MACOS_QT_FRAMEWORKS ${QT_CORE_PATH} ${QT_GUI_PATH} ${QT_WIDGETS_PATH} ${QT_PRINT_PATH} ${QT_NETWORK_PATH} ${QT_SVG_PATH})
|
||||
string(REPLACE ";" " " MACOS_QT_FRAMEWORKS "${MACOS_QT_FRAMEWORKS}")
|
||||
|
||||
set(MACOSX_QT_DIR "$ENV{QT_DIR}")
|
||||
set(MACOS_BOOST_DIR "${Boost_INCLUDE_DIR}")
|
||||
STRING(REGEX REPLACE "/lib/cmake/clang" "" MACOS_CLANG_DIR ${Clang_DIR})
|
||||
STRING(REGEX REPLACE "/lib/cmake/Qt5" "" MACOS_QT_DIR ${Qt5_DIR})
|
||||
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/setup/MacOSX/bundle_install.sh.in
|
||||
${PROJECT_SOURCE_DIR}/setup/macOS/bundle_install.sh.in
|
||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bundle_install.sh
|
||||
@ONLY
|
||||
)
|
||||
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/setup/MacOSX/Info.plist.in
|
||||
${PROJECT_SOURCE_DIR}/setup/macOS/bundle_info.plist.in
|
||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/bundle_info.plist
|
||||
@ONLY
|
||||
)
|
||||
|
||||
+11
-7
@@ -41,10 +41,14 @@ string(REGEX REPLACE "^([0-9]+)\\..*" "\\1" VERSION_YEAR "${GIT_VERSION_NUMBER}"
|
||||
string(REGEX REPLACE "^[0-9]+\\.([0-9]+).*" "\\1" VERSION_MINOR "${GIT_VERSION_NUMBER}")
|
||||
string(REGEX REPLACE "^[0-9]+\\.[0-9]+-([0-9]+).*" "\\1" VERSION_COMMIT "${GIT_VERSION_NUMBER}")
|
||||
|
||||
message(STATUS "Git current branch: ${GIT_BRANCH}")
|
||||
message(STATUS "Git version number: " ${GIT_VERSION_NUMBER} )
|
||||
message(STATUS "Git commit hash: ${GIT_COMMIT_HASH}")
|
||||
message(STATUS "Version year: ${VERSION_YEAR}")
|
||||
message(STATUS "Version minor: ${VERSION_MINOR}")
|
||||
message(STATUS "Version commit: ${VERSION_COMMIT}")
|
||||
message(STATUS "Git commit time: ${GIT_COMMIT_TIME}")
|
||||
set(VERSION_STRING "${VERSION_YEAR}.${VERSION_MINOR}.${VERSION_COMMIT}")
|
||||
|
||||
message(STATUS "Version: ${VERSION_STRING}")
|
||||
|
||||
# message(STATUS "Git current branch: ${GIT_BRANCH}")
|
||||
# message(STATUS "Git version number: " ${GIT_VERSION_NUMBER} )
|
||||
# message(STATUS "Git commit hash: ${GIT_COMMIT_HASH}")
|
||||
# message(STATUS "Git commit time: ${GIT_COMMIT_TIME}")
|
||||
# message(STATUS "Version year: ${VERSION_YEAR}")
|
||||
# message(STATUS "Version minor: ${VERSION_MINOR}")
|
||||
# message(STATUS "Version commit: ${VERSION_COMMIT}")
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
#ifndef SOURCETRAIL_VERSION_H
|
||||
#define SOURCETRAIL_VERSION_H
|
||||
|
||||
#define GIT_BRANCH "@GIT_BRANCH@"
|
||||
#define GIT_VERSION_NUMBER "@GIT_VERSION_NUMBER@"
|
||||
#define GIT_COMMIT_HASH "@GIT_COMMIT_HASH@"
|
||||
#define GIT_COMMIT_TIME "@GIT_COMMIT_TIME@"
|
||||
#define VERSION_YEAR @VERSION_YEAR@
|
||||
#define VERSION_MINOR @VERSION_MINOR@
|
||||
#define VERSION_COMMIT @VERSION_COMMIT@
|
||||
|
||||
#endif // SOURCETRAIL_VERSION_H
|
||||
@@ -8,26 +8,20 @@
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>@MACOSX_BINARY_NAME@</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string></string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.sourcetrail</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleLongVersionString</key>
|
||||
<string></string>
|
||||
<key>CFBundleName</key>
|
||||
<string></string>
|
||||
<string>Sourcetrail</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string></string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>@GIT_VERSION_NUMBER@</string>
|
||||
<string>@VERSION_STRING@</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@VERSION_STRING@</string>
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
<key>LSRequiresCarbon</key>
|
||||
@@ -9,20 +9,18 @@ cd $MY_PATH
|
||||
|
||||
echo -e $INFO "Creating app bundle for macOS."
|
||||
|
||||
BUNDLE_NAME="@MACOSX_BUNDLE_NAME@"
|
||||
APP_NAME="@MACOSX_BINARY_NAME@"
|
||||
INDEXER_NAME="@MACOSX_INDEXER_BINARY_NAME@"
|
||||
DYNLIB_PATHS=(@MACOSX_DYNAMIC_LIBRARIES@)
|
||||
BUNDLE_NAME="@MACOS_BUNDLE_NAME@"
|
||||
APP_NAME="@MACOS_BINARY_NAME@"
|
||||
INDEXER_NAME="@MACOS_INDEXER_BINARY_NAME@"
|
||||
|
||||
VERSION_STRING=$(git describe --long)
|
||||
VERSION_STRING="${VERSION_STRING//-/_}"
|
||||
VERSION_STRING="@MACOS_BUNDLE_VERSION@"
|
||||
VERSION_STRING="${VERSION_STRING//./_}"
|
||||
VERSION_STRING="${VERSION_STRING%_*}"
|
||||
|
||||
PACKAGE_DIR=${BUNDLE_NAME}_${VERSION_STRING}
|
||||
|
||||
QT_DIR="@MACOSX_QT_DIR@"
|
||||
QT_FRAMEWORK_PATHS=(@MACOSX_QT_FRAMEWORKS@)
|
||||
BOOST_DIR="@MACOS_BOOST_DIR@"
|
||||
CLANG_DIR="@MACOS_CLANG_DIR@"
|
||||
QT_DIR="@MACOS_QT_DIR@"
|
||||
QT_FRAMEWORK_PATHS=(@MACOS_QT_FRAMEWORKS@)
|
||||
|
||||
if [ ! -x "$APP_NAME" ]
|
||||
then
|
||||
@@ -89,15 +87,13 @@ $QT_DIR/bin/macdeployqt $BUNDLE_PATH
|
||||
echo -e $INFO "edit qt.conf"
|
||||
sed -i '' -e 's/PlugIns/Plugins/g' $RES_DIR/qt.conf
|
||||
|
||||
install_name_tool -delete_rpath "/Users/ebsi/Documents/clang-llvm/build_release/./lib" $APP_PATH
|
||||
install_name_tool -delete_rpath "/Users/ebsi/Documents/clang-llvm/build_release/lib" $APP_PATH
|
||||
install_name_tool -delete_rpath "/Users/ebsi/Documents/boost_1_68_0/stage/lib" $APP_PATH
|
||||
install_name_tool -delete_rpath "$CLANG_DIR/./lib" $APP_PATH
|
||||
install_name_tool -delete_rpath "$BOOST_DIR/stage/lib" $APP_PATH
|
||||
install_name_tool -delete_rpath "@executable_path/../Frameworks" $APP_PATH
|
||||
install_name_tool -add_rpath "@loader_path/../Frameworks" $APP_PATH
|
||||
|
||||
install_name_tool -delete_rpath "/Users/ebsi/Documents/clang-llvm/build_release/./lib" $INDEXER_PATH
|
||||
install_name_tool -delete_rpath "/Users/ebsi/Documents/clang-llvm/build_release/lib" $INDEXER_PATH
|
||||
install_name_tool -delete_rpath "/Users/ebsi/Documents/boost_1_68_0/stage/lib" $INDEXER_PATH
|
||||
install_name_tool -delete_rpath "$CLANG_DIR/./lib" $INDEXER_PATH
|
||||
install_name_tool -delete_rpath "$BOOST_DIR/stage/lib" $INDEXER_PATH
|
||||
install_name_tool -delete_rpath "$QT_DIR/lib" $INDEXER_PATH
|
||||
install_name_tool -add_rpath "@loader_path/../Frameworks" $INDEXER_PATH
|
||||
|
||||
Reference in New Issue
Block a user