X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=CMakeLists.txt;h=491e58f7f81c63b9dff0388d6a053fccf5d7fdb5;hb=6fdb32958c6f0e7397455734c207790468c2da6c;hp=74ed869dc30e6773a742fcf54314def145117fc5;hpb=048571a2bf895ed995cfd5b6fda81073240cc39f;p=lyx.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 74ed869dc3..491e58f7f8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,6 +40,13 @@ if(COMMAND cmake_policy) cmake_policy(SET CMP0005 OLD) # Installing MACOSX_BUNDLE targets requires a BUNDLE DESTINATION cmake_policy(SET CMP0006 NEW) + if(POLICY CMP0028) + cmake_policy(SET CMP0028 OLD) + endif() + if(POLICY CMP0043) + # COMPILE_DEFINITIONS are not used yet. Enable new behavior. + cmake_policy(SET CMP0043 NEW) + endif() endif() set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) @@ -307,29 +314,33 @@ foreach(_c_l ${_config_lines} ) endif() endforeach(_c_l) -if (LYX_LOCALVERSIONING) - # Find the revision number and for later use - FIND_PROGRAM(LYX_GITVERSION git) - #message(STATUS "gitversion = ${LYX_GITVERSION}") - if(LYX_GITVERSION) - EXECUTE_PROCESS(COMMAND ${LYX_GITVERSION} describe --match 2.0.0 HEAD - WORKING_DIRECTORY "${TOP_SRC_DIR}" OUTPUT_VARIABLE LYX_PACKAGE_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE) - if (LYX_PACKAGE_RELEASE MATCHES "^2\\.0\\.0\\-\([0-9]+\)\\-.*$") - # We will add offset of 40000 to get appropriate value to - # previous svn. - # We use this value than also to set the package-patch-value - MATH(EXPR tmp_REVISION_VERSION "(${CMAKE_MATCH_1}+40000)") - set(LYX_REVISION_VERSION "${LYX_PATCH_VERSION}-${tmp_REVISION_VERSION}git") - set(ENABLE_DIST ON) - endif() - else() - set(LYX_REVISION_VERSION git) #TODO use date - endif() -else() - set(LYX_REVISION_VERSION ${LYX_PATCH_VERSION}) +FIND_PROGRAM(LYX_GITVERSION git) +#message(STATUS "gitversion = ${LYX_GITVERSION}") +set(LYX_GIT_COMMIT_HASH "none") +set(LYX_REVISION_VERSION ${LYX_PATCH_VERSION}) +if(LYX_GITVERSION) + if (LYX_LOCALVERSIONING) + # Find the revision number and for later use + EXECUTE_PROCESS(COMMAND ${LYX_GITVERSION} describe --match 2.0.0 HEAD + WORKING_DIRECTORY "${TOP_SRC_DIR}" OUTPUT_VARIABLE LYX_PACKAGE_RELEASE OUTPUT_STRIP_TRAILING_WHITESPACE) + if (LYX_PACKAGE_RELEASE MATCHES "^2\\.0\\.0\\-\([0-9]+\)\\-.*$") + # We will add offset of 40000 to get appropriate value to + # previous svn. + # We use this value than also to set the package-patch-value + MATH(EXPR tmp_REVISION_VERSION "(${CMAKE_MATCH_1}+40000)") + set(LYX_REVISION_VERSION "${LYX_PATCH_VERSION}-${tmp_REVISION_VERSION}git") + set(ENABLE_DIST ON) + endif() + endif() + EXECUTE_PROCESS(COMMAND ${LYX_GITVERSION} log -1 "--pretty=format:%H" + WORKING_DIRECTORY "${TOP_SRC_DIR}" OUTPUT_VARIABLE lyxgitcommit OUTPUT_STRIP_TRAILING_WHITESPACE) + if (lyxgitcommit MATCHES "^[0-9a-f]+$") + set(LYX_GIT_COMMIT_HASH ${lyxgitcommit}) + endif() endif() +#message(STATUS "LYX_GIT_COMMIT_HASH = ${LYX_GIT_COMMIT_HASH}") -# Set the programs (lyx, tex2lyx, etc.) suffix +# Set the programs (lyx, tex2lyx, etc.) suffix # When building an OS X bundle, we will append # the suffix only to the bundle, not to the programs set(PROGRAM_SUFFIX "") @@ -544,21 +555,25 @@ if(LYX_XMINGW) list(APPEND CMAKE_FIND_ROOT_PATH ${QT_MINGW_DIR} ${GNUWIN32_DIR}) endif() if(LYX_USE_QT MATCHES "QT5") - find_package(Qt5Core REQUIRED) - if (Qt5Core_FOUND) - find_package(Qt5Widgets REQUIRED) - find_package(Qt5X11Extras) - set(QTVERSION ${Qt5Core_VERSION}) - macro (qt_use_modules) - qt5_use_modules(${ARGN}) - endmacro() - macro (qt_add_resources) - qt5_add_resources(${ARGN}) - endmacro() - macro (qt_wrap_uifiles) - qt5_wrap_ui(${ARGN}) - endmacro() - endif() + find_package(Qt5Core REQUIRED) + if (Qt5Core_FOUND) + find_package(Qt5Widgets REQUIRED) + if(APPLE) + find_package(Qt5MacExtras REQUIRED) + endif() + find_package(Qt5X11Extras QUIET) + set(QTVERSION ${Qt5Core_VERSION}) + macro (qt_use_modules) + qt5_use_modules(${ARGN}) + endmacro() + macro (qt_add_resources) + qt5_add_resources(${ARGN}) + endmacro() + macro (qt_wrap_uifiles) + qt5_wrap_ui(${ARGN}) + endmacro() + message(STATUS "Found Qt-Version ${QTVERSION}") + endif() elseif(LYX_USE_QT MATCHES "QT4") find_package(Qt4 "4.5.0" REQUIRED) macro (qt_use_modules) @@ -662,7 +677,7 @@ endif() # Compute qt4-version from ${QTVERSION} message(STATUS "") -foreach(_v PACKAGE PACKAGE_VERSION +foreach(_v PACKAGE PACKAGE_VERSION LYX_GIT_COMMIT_HASH PROGRAM_SUFFIX LYX_DATE LYX_DIR_VER LYX_USERDIR_VER LYX_ABS_TOP_SRCDIR LYX_ABS_INSTALLED_DATADIR LYX_ABS_INSTALLED_LOCALEDIR LYX_INSTALL_SUFFIX)