@@ -77,6 +77,8 @@ function(GAMEMODULE)
7777 endforeach (inherited_option)
7878
7979 if (USE_NACL_SAIGO)
80+ unset (NACL_VMS_PROJECTS)
81+
8082 foreach (NACL_TARGET ${NACL_TARGETS} )
8183 if (NACL_TARGET STREQUAL "i686" )
8284 set (SAIGO_ARCH "i686" )
@@ -88,9 +90,12 @@ function(GAMEMODULE)
8890 message (FATAL_ERROR "Unknown NaCl architecture ${NACL_TARGET} " )
8991 endif ()
9092
91- ExternalProject_Add(${vm} -${NACL_TARGET}
93+ set (NACL_VMS_PROJECT ${vm} -${NACL_TARGET} )
94+ list (APPEND NACL_VMS_PROJECTS ${NACL_VMS_PROJECT} )
95+
96+ ExternalProject_Add(${NACL_VMS_PROJECT}
9297 SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
93- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /${vm} - ${NACL_TARGET }
98+ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /${NACL_VMS_PROJECT }
9499 CMAKE_GENERATOR ${VM_GENERATOR}
95100 CMAKE_ARGS
96101 -DFORK=2
@@ -109,14 +114,26 @@ function(GAMEMODULE)
109114 ${inherited_option_args}
110115 INSTALL_COMMAND ""
111116 )
117+
118+ # Force the rescan and rebuild of the subproject.
119+ ExternalProject_Add_Step(${NACL_VMS_PROJECT} forcebuild
120+ COMMAND ${CMAKE_COMMAND} -E remove
121+ ${CMAKE_CURRENT_BINARY_DIR} /${NACL_VMS_PROJECT} -prefix /src/${NACL_VMS_PROJECT} -stamp/${NACL_VMS_PROJECT} -configure
122+ COMMENT "Forcing build step for '${NACL_VMS_PROJECT} '"
123+ DEPENDEES build
124+ ALWAYS 1
125+ )
112126 endforeach ()
113127 else ()
128+ set (NACL_VMS_PROJECT ${vm} )
129+ set (NACL_VMS_PROJECTS ${NACL_VMS_PROJECT} )
130+
114131 # Workaround a bug where CMake ExternalProject lists-as-args are cut on first “;”
115132 string (REPLACE ";" "," NACL_TARGETS_STRING "${NACL_TARGETS} " )
116133
117- ExternalProject_Add(${vm }
134+ ExternalProject_Add(${NACL_VMS_PROJECT }
118135 SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
119- BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /${vm }
136+ BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR} /${NACL_VMS_PROJECT }
120137 CMAKE_GENERATOR ${VM_GENERATOR}
121138 CMAKE_ARGS
122139 -DFORK=2
@@ -133,10 +150,12 @@ function(GAMEMODULE)
133150 ${inherited_option_args}
134151 INSTALL_COMMAND ""
135152 )
136- ExternalProject_Add_Step(${vm} forcebuild
153+
154+ # Force the rescan and rebuild of the subproject.
155+ ExternalProject_Add_Step(${NACL_VMS_PROJECT} forcebuild
137156 COMMAND ${CMAKE_COMMAND} -E remove
138- ${CMAKE_CURRENT_BINARY_DIR} /${vm } -prefix /src/${vm } -stamp/${vm } -configure
139- COMMENT "Forcing build step for '${vm } '"
157+ ${CMAKE_CURRENT_BINARY_DIR} /${NACL_VMS_PROJECT } -prefix /src/${NACL_VMS_PROJECT } -stamp/${NACL_VMS_PROJECT } -configure
158+ COMMENT "Forcing build step for '${NACL_VMS_PROJECT } '"
140159 DEPENDEES build
141160 ALWAYS 1
142161 )
0 commit comments