@@ -429,33 +429,49 @@ LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/src/core ${CMAKE_BINARY_DIR}/src/gui)
429
429
# create qgssvnversion.h
430
430
431
431
FIND_FILE (SVN_MARKER entries PATHS ${CMAKE_SOURCE_DIR} /.svn )
432
+ FIND_FILE (GIT_MARKER index PATHS ${CMAKE_SOURCE_DIR} /.git )
432
433
433
434
IF (SVN_MARKER )
434
435
# See if we have svn installed
435
436
FIND_PROGRAM (SVNVERSION svnversion PATHS c:/cygwin/bin )
436
437
437
438
IF (SVNVERSION )
438
439
IF (MSVC )
439
- ADD_CUSTOM_COMMAND (
440
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h
441
- COMMAND for /f usebackq %%a in "(`\" ${SVNVERSION} \" `)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
442
- MAIN_DEPENDENCY ${SVN_MARKER}
443
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
444
- )
440
+ ADD_CUSTOM_COMMAND (
441
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h
442
+ COMMAND for /f usebackq %%a in "(`\" ${SVNVERSION} \" `)" do echo \#define QGSSVNVERSION \"%%a\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
443
+ MAIN_DEPENDENCY ${SVN_MARKER}
444
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
445
+ )
445
446
ELSE (MSVC )
446
- ADD_CUSTOM_COMMAND (
447
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h
448
- COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
449
- MAIN_DEPENDENCY ${SVN_MARKER}
450
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
451
- )
447
+ ADD_CUSTOM_COMMAND (
448
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h
449
+ COMMAND echo \\\#define QGSSVNVERSION \\\"`${SVNVERSION}`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
450
+ MAIN_DEPENDENCY ${SVN_MARKER}
451
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
452
+ )
452
453
ENDIF (MSVC )
453
454
ELSE (SVNVERSION )
454
455
MESSAGE (STATUS "svnversion not found - version will be unknown" )
455
456
FILE (WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h "#define QGSSVNVERSION \" unknown\" " )
456
457
ENDIF (SVNVERSION )
457
458
ELSE (SVN_MARKER )
458
- FILE (WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h "#define QGSSVNVERSION \" exported\" " )
459
+ IF (GIT_MARKER )
460
+ FIND_PROGRAM (GIT git PATHS c:/cygwin/bin )
461
+ IF (GIT )
462
+ ADD_CUSTOM_COMMAND (
463
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h
464
+ COMMAND echo \\\#define QGSSVNVERSION \\\"`${GIT} svn info | sed -ne "s/Revision: //p"`\\\" >${CMAKE_CURRENT_BINARY_DIR}/qgssvnversion.h
465
+ MAIN_DEPENDENCY ${GIT_MARKER}
466
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
467
+ )
468
+ ELSE (GIT )
469
+ MESSAGE (STATUS "git marker, but no git found - version will be unknown" )
470
+ FILE (WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h "#define QGSSVNVERSION \" unknown\" " )
471
+ ENDIF (GIT )
472
+ ELSE (GIT_MARKER )
473
+ FILE (WRITE ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h "#define QGSSVNVERSION \" exported\" " )
474
+ ENDIF (GIT_MARKER )
459
475
ENDIF (SVN_MARKER )
460
476
461
477
ADD_CUSTOM_TARGET (svnversion ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR} /qgssvnversion.h )
0 commit comments