Prechádzať zdrojové kódy

Simplify the logic for getting library revision number.

Yao Wei Tjong 姚伟忠 12 rokov pred
rodič
commit
66a10f28a4

+ 2 - 3
Source/CMake/Modules/GetUrho3DRevision.cmake

@@ -27,8 +27,7 @@ if (GIT_EXIT_CODE EQUAL 0)
     # Remove trailing end of line character
     string (STRIP ${LIB_REVISION} LIB_REVISION)
 else ()
-    # This should not happen, but just in case
+    # No GIT command line tool or not a GIT repository
     set (LIB_REVISION Unversioned)
 endif ()
-set (LIB_REVISION "const char* revision=\"${LIB_REVISION}\"\;\n")
-file (WRITE ${FILENAME} ${LIB_REVISION})
+file (WRITE ${FILENAME} "const char* revision=\"${LIB_REVISION}\";")

+ 7 - 13
Source/Engine/CMakeLists.txt

@@ -23,23 +23,17 @@
 # Define target name
 set (TARGET_NAME Urho3D)
 
-# Define generated source files
-execute_process (COMMAND git describe --always WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} RESULT_VARIABLE GIT_EXIT_CODE OUTPUT_QUIET ERROR_QUIET)
-if (GIT_EXIT_CODE EQUAL 0)
-    add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/librevision.h
-        COMMAND ${CMAKE_COMMAND} -DFILENAME=${CMAKE_CURRENT_BINARY_DIR}/librevision.h -P CMake/Modules/GetUrho3DRevision.cmake
-        DEPENDS ${STATIC_LIBRARY_TARGETS} ${PROJECT_SOURCE_DIR}/CMake/Modules/GetUrho3DRevision.cmake
-        WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
-        COMMENT "Generating GIT revision number (tag + last commit SHA-1)")
-else ()
-    # No GIT command line tool or not a GIT repository, generate a dummy revision file
-    file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/librevision.h "const char* revision=\"Unversioned\";")
-endif ()
-
 if (WIN32)
     set (CMAKE_DEBUG_POSTFIX _d)
 endif ()
 
+# Define generated source files
+add_custom_command (OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/librevision.h
+    COMMAND ${CMAKE_COMMAND} -DFILENAME=${CMAKE_CURRENT_BINARY_DIR}/librevision.h -P CMake/Modules/GetUrho3DRevision.cmake
+    DEPENDS ${STATIC_LIBRARY_TARGETS} ${PROJECT_SOURCE_DIR}/CMake/Modules/GetUrho3DRevision.cmake
+    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+    COMMENT "Generating GIT revision number (tag + last commit SHA-1)")
+
 # Define generated object files
 # This is a hack as it relies on internal working of CMake
 if (MSVC AND URHO3D_LIB_TYPE STREQUAL SHARED)   # MSVC linker does not have force_load/whole_archive equivalent