diff --git a/CMakeLists.txt b/CMakeLists.txt index fe8b1f53..70f8c337 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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 ) diff --git a/cmake/version.cmake b/cmake/version.cmake index 4a5752e5..0bb646f9 100644 --- a/cmake/version.cmake +++ b/cmake/version.cmake @@ -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}") diff --git a/cmake/version.h.in b/cmake/version.h.in deleted file mode 100644 index 8705cb61..00000000 --- a/cmake/version.h.in +++ /dev/null @@ -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 diff --git a/setup/MacOSX/Info.plist.in b/setup/macOS/bundle_info.plist.in similarity index 86% rename from setup/MacOSX/Info.plist.in rename to setup/macOS/bundle_info.plist.in index 9a700df9..470cd8e7 100644 --- a/setup/MacOSX/Info.plist.in +++ b/setup/macOS/bundle_info.plist.in @@ -8,26 +8,20 @@ English CFBundleExecutable @MACOSX_BINARY_NAME@ - CFBundleGetInfoString - - CFBundleIconFile - CFBundleIdentifier com.sourcetrail CFBundleInfoDictionaryVersion 6.0 - CFBundleLongVersionString - CFBundleName - + Sourcetrail CFBundlePackageType APPL - CFBundleShortVersionString - CFBundleSignature ???? CFBundleVersion - @GIT_VERSION_NUMBER@ + @VERSION_STRING@ + CFBundleShortVersionString + @VERSION_STRING@ CSResourcesFileMapped LSRequiresCarbon diff --git a/setup/MacOSX/bundle_install.sh.in b/setup/macOS/bundle_install.sh.in similarity index 86% rename from setup/MacOSX/bundle_install.sh.in rename to setup/macOS/bundle_install.sh.in index de629cde..da7c8582 100755 --- a/setup/MacOSX/bundle_install.sh.in +++ b/setup/macOS/bundle_install.sh.in @@ -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