Commit: 9d5661c9e8b1ab383be4ae7b065f50d43310f6cb
Author: Campbell Barton
Date:   Thu Jun 30 08:49:50 2016 +1000
Branches: master
https://developer.blender.org/rB9d5661c9e8b1ab383be4ae7b065f50d43310f6cb

CMake: list buildinfo.h as buildinfo.cmake's output

Keep the fake header to ensure we always run.

===================================================================

M       source/creator/CMakeLists.txt

===================================================================

diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt
index 91d03da..4e8dd6f 100644
--- a/source/creator/CMakeLists.txt
+++ b/source/creator/CMakeLists.txt
@@ -172,18 +172,28 @@ if(WITH_BUILDINFO)
        include_directories(${CMAKE_CURRENT_BINARY_DIR})
 
 
-       # XXX, "_buildinfo.h" is used twice here,
+       # XXX, ${buildinfo_h_fake} is used here,
        # because we rely on that file being detected as missing
        # every build so that the real header "buildinfo.h" is updated.
        #
        # Keep this until we find a better way to resolve!
 
+       set(buildinfo_h_real "${CMAKE_CURRENT_BINARY_DIR}/buildinfo.h")
+       set(buildinfo_h_fake "${CMAKE_CURRENT_BINARY_DIR}/buildinfo.h_fake")
+
+       if(EXISTS ${buildinfo_h_fake})
+               message(FATAL_ERROR "File \"${buildinfo_h_fake}\" found, this 
should never be created, remove!")
+       endif()
+
        # a custom target that is always built
        add_custom_target(buildinfo ALL
-               DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/_buildinfo.h)
+               DEPENDS ${buildinfo_h_fake})
 
        # creates buildinfo.h using cmake script
-       add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/_buildinfo.h
+       add_custom_command(
+               OUTPUT
+                       ${buildinfo_h_fake}  # ensure we always run
+                       ${buildinfo_h_real}
                COMMAND ${CMAKE_COMMAND}
                -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
                # overrides only used when non-empty strings
@@ -192,10 +202,14 @@ if(WITH_BUILDINFO)
                -P ${CMAKE_SOURCE_DIR}/build_files/cmake/buildinfo.cmake)
 
        # buildinfo.h is a generated file
-       set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/buildinfo.h
+       set_source_files_properties(
+               ${buildinfo_h_real}
                PROPERTIES GENERATED TRUE
                HEADER_FILE_ONLY TRUE)
 
+       unset(buildinfo_h_real)
+       unset(buildinfo_h_fake)
+
        # add deps below, after adding blender
        # -------------- done with header values.

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to