Skip to content

Commit a42e27f

Browse files
author
jef
committed
improve qgssvnversion.h creation
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@11451 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 3bd3e06 commit a42e27f

File tree

4 files changed

+30
-32
lines changed

4 files changed

+30
-32
lines changed

CMakeLists.txt

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -340,20 +340,33 @@ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src/core ${CMAKE_BINARY_DIR}/src/gui)
340340

341341
FIND_FILE(SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.svn)
342342

343-
IF (NOT SVN_MARKER)
344-
SET (SVN_MARKER ${CMAKE_SOURCE_DIR}/CMakeLists.txt) # Dummy file
345-
ENDIF (NOT SVN_MARKER)
346-
# Add a custom command to drive the svn script whenever the svn entries
347-
# file changes.
348-
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake_templates/svnscript.cmake.in_cmake
349-
${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake
350-
@ONLY)
351-
352-
ADD_CUSTOM_COMMAND (
353-
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
354-
DEPENDS ${SVN_MARKER}
355-
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/svnscript.cmake
356-
)
343+
IF (SVN_MARKER)
344+
# See if we have svn installed
345+
FIND_PROGRAM(SVNVERSION svnversion PATHS c:/cygwin/bin)
346+
347+
IF(SVNVERSION)
348+
IF(MSVC)
349+
ADD_CUSTOM_COMMAND(
350+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
351+
COMMAND for /f usebackq %%a in "(`${SVNVERSION}`)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
352+
MAIN_DEPENDENCY ${SVN_MARKER}
353+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
354+
)
355+
ELSE(MSVC)
356+
ADD_CUSTOM_COMMAND(
357+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
358+
COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
359+
MAIN_DEPENDENCY ${SVN_MARKER}
360+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
361+
)
362+
ENDIF(MSVC)
363+
ELSE(SVNVERSION)
364+
MESSAGE(STATUS "svnversion not found - version will be unknown")
365+
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"unknown\"")
366+
ENDIF (SVNVERSION)
367+
ELSE (SVN_MARKER)
368+
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h "#define QGSSVNVERSION \"exported\"")
369+
ENDIF (SVN_MARKER)
357370

358371
ADD_CUSTOM_TARGET(svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h)
359372

cmake_templates/qgssvnversion.h.in_cmake

Lines changed: 0 additions & 1 deletion
This file was deleted.

cmake_templates/svnscript.cmake.in_cmake

Lines changed: 0 additions & 17 deletions
This file was deleted.

ms-windows/osgeo4w/package.cmd

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
@echo off
22
set GRASS_VERSION=6.4.0svn
3+
set SVNVERSION=c:/cygwin/bin/svnversion
34

45
set BUILDDIR=%CD%\build
56
REM set BUILDDIR=%TEMP%\qgis_unstable
@@ -99,6 +100,8 @@ cmake -G "Visual Studio 9 2008" ^
99100
-D QT_ZLIB_LIBRARY=%O4W_ROOT%/lib/zlib.lib ^
100101
-D QT_PNG_LIBRARY=%O4W_ROOT%/lib/libpng13.lib ^
101102
-D CMAKE_INSTALL_PREFIX=%O4W_ROOT%/apps/qgis-dev ^
103+
-D CMAKE_CXX_FLAGS_RELWITHDEBINFO="/MD /ZI /Od /D NDEBUG" ^
104+
-D SVNVERSION="%SVNVERSION%" ^
102105
%SRCDIR%>>%LOG% 2>&1
103106
if errorlevel 1 goto error
104107

0 commit comments

Comments
 (0)