From a42e27f8defc9127806b89a9071bc32f977af9e3 Mon Sep 17 00:00:00 2001 From: jef Date: Thu, 20 Aug 2009 15:31:45 +0000 Subject: [PATCH] improve qgssvnversion.h creation git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@11451 c8812cc2-4d05-0410-92ff-de0c093fc19c --- CMakeLists.txt | 41 ++++++++++++++++-------- cmake_templates/qgssvnversion.h.in_cmake | 1 - cmake_templates/svnscript.cmake.in_cmake | 17 ---------- ms-windows/osgeo4w/package.cmd | 3 ++ 4 files changed, 30 insertions(+), 32 deletions(-) delete mode 100644 cmake_templates/qgssvnversion.h.in_cmake delete mode 100644 cmake_templates/svnscript.cmake.in_cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 149fb5dbbcf7..85037a9562af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -340,20 +340,33 @@ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src/core ${CMAKE_BINARY_DIR}/src/gui) FIND_FILE(SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.svn) -IF (NOT SVN_MARKER) - SET (SVN_MARKER ${CMAKE_SOURCE_DIR}/CMakeLists.txt) # Dummy file -ENDIF (NOT SVN_MARKER) - # Add a custom command to drive the svn script whenever the svn entries - # file changes. - CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake_templates/svnscript.cmake.in_cmake - ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake - @ONLY) - - ADD_CUSTOM_COMMAND ( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h - DEPENDS ${SVN_MARKER} - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake -) +IF (SVN_MARKER) + # See if we have svn installed + FIND_PROGRAM(SVNVERSION svnversion PATHS c:/cygwin/bin) + + IF(SVNVERSION) + IF(MSVC) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h + COMMAND for /f usebackq %%a in "(`${SVNVERSION}`)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h + MAIN_DEPENDENCY ${SVN_MARKER} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) + ELSE(MSVC) + ADD_CUSTOM_COMMAND( + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h + COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h + MAIN_DEPENDENCY ${SVN_MARKER} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + ) + ENDIF(MSVC) + ELSE(SVNVERSION) + MESSAGE(STATUS "svnversion not found - version will be unknown") + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"unknown\"") + ENDIF (SVNVERSION) +ELSE (SVN_MARKER) + FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"exported\"") +ENDIF (SVN_MARKER) ADD_CUSTOM_TARGET(svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h) diff --git a/cmake_templates/qgssvnversion.h.in_cmake b/cmake_templates/qgssvnversion.h.in_cmake deleted file mode 100644 index 57b0ca4789f5..000000000000 --- a/cmake_templates/qgssvnversion.h.in_cmake +++ /dev/null @@ -1 +0,0 @@ -#define QGSSVNVERSION "@MYVERSION@" diff --git a/cmake_templates/svnscript.cmake.in_cmake b/cmake_templates/svnscript.cmake.in_cmake deleted file mode 100644 index 847a8818563f..000000000000 --- a/cmake_templates/svnscript.cmake.in_cmake +++ /dev/null @@ -1,17 +0,0 @@ -# Magnus Homann svn hack -# Required? -SET(CMAKE_BACKWARDS_COMPATIBILITY "2.4") - -# See if we have svn installed -FIND_PROGRAM(SVNVERSION svnversion) - -# Read the version if installed, else set to "unknown" -IF (SVNVERSION) - EXEC_PROGRAM(${SVNVERSION} ARGS "@CMAKE_CURRENT_SOURCE_DIR@" OUTPUT_VARIABLE MYVERSION) -ELSE (SVNVERSION) - SET(MYVERSION unknown) -ENDIF (SVNVERSION) - -# Configure the qgssvnversion.h -CONFIGURE_FILE("@CMAKE_CURRENT_SOURCE_DIR@/cmake_templates/qgssvnversion.h.in_cmake" - "@CMAKE_CURRENT_BINARY_DIR@/qgssvnversion.h") diff --git a/ms-windows/osgeo4w/package.cmd b/ms-windows/osgeo4w/package.cmd index 985400f73eec..0ac0d811d9d6 100755 --- a/ms-windows/osgeo4w/package.cmd +++ b/ms-windows/osgeo4w/package.cmd @@ -1,5 +1,6 @@ @echo off set GRASS_VERSION=6.4.0svn +set SVNVERSION=c:/cygwin/bin/svnversion set BUILDDIR=%CD%\build REM set BUILDDIR=%TEMP%\qgis_unstable @@ -99,6 +100,8 @@ cmake -G "Visual Studio 9 2008" ^ -D QT_ZLIB_LIBRARY=%O4W_ROOT%/lib/zlib.lib ^ -D QT_PNG_LIBRARY=%O4W_ROOT%/lib/libpng13.lib ^ -D CMAKE_INSTALL_PREFIX=%O4W_ROOT%/apps/qgis-dev ^ + -D CMAKE_CXX_FLAGS_RELWITHDEBINFO="/MD /ZI /Od /D NDEBUG" ^ + -D SVNVERSION="%SVNVERSION%" ^ %SRCDIR%>>%LOG% 2>&1 if errorlevel 1 goto error