Skip to content

Commit 039add7

Browse files
committed
wip
1 parent 979afc9 commit 039add7

File tree

1 file changed

+28
-60
lines changed

1 file changed

+28
-60
lines changed

cmake/DaemonGame.cmake

Lines changed: 28 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -71,18 +71,7 @@ function(buildNexe)
7171
ADD_PRECOMPILED_HEADER(${GAMEMODULE_NAME}-nacl)
7272
endfunction()
7373

74-
function(rescanAndRebuild SUBPROJECT)
75-
# Force the rescan and rebuild of the subproject.
76-
ExternalProject_Add_Step(${SUBPROJECT} forcebuild
77-
COMMAND ${CMAKE_COMMAND} -E remove
78-
${CMAKE_CURRENT_BINARY_DIR}/${SUBPROJECT}-prefix/src/${SUBPROJECT}-stamp/${SUBPROJECT}-configure
79-
COMMENT "Forcing build step for '${SUBPROJECT}'"
80-
DEPENDEES build
81-
ALWAYS 1
82-
)
83-
endfunction()
84-
85-
function(gameSubProject SUBPROJECT)
74+
function(gameSubProject)
8675
ExternalProject_Add(${VMS_PROJECT}
8776
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
8877
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${VMS_PROJECT}
@@ -98,6 +87,15 @@ function(gameSubProject SUBPROJECT)
9887
${inherited_option_args}
9988
INSTALL_COMMAND ""
10089
)
90+
91+
# Force the rescan and rebuild of the subproject.
92+
ExternalProject_Add_Step(${VMS_PROJECT} forcebuild
93+
COMMAND ${CMAKE_COMMAND} -E remove
94+
${CMAKE_CURRENT_BINARY_DIR}/${VMS_PROJECT}-prefix/src/${VMS_PROJECT}-stamp/${VMS_PROJECT}-configure
95+
COMMENT "Forcing build step for '${VMS_PROJECT}'"
96+
DEPENDEES build
97+
ALWAYS 1
98+
)
10199
endfunction()
102100

103101
function(GAMEMODULE)
@@ -148,8 +146,6 @@ function(GAMEMODULE)
148146
-DBUILD_GAME_NATIVE_DLL=ON
149147
-DBUILD_GAME_NATIVE_EXE=OFF
150148
)
151-
152-
rescanAndRebuild(${VMS_PROJECT})
153149
endif()
154150

155151
if (BUILD_GAME_NACL)
@@ -170,31 +166,17 @@ function(GAMEMODULE)
170166

171167
set(VMS_PROJECT nacl-vms-${NACL_TARGET})
172168
list(APPEND VMS_PROJECTS ${VMS_PROJECT})
173-
add_dependencies(nacl-vms $VMS_PROJECT})
169+
add_dependencies(nacl-vms ${VMS_PROJECT})
174170

175-
ExternalProject_Add(${VMS_PROJECT}
176-
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
177-
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${VMS_PROJECT}
178-
CMAKE_GENERATOR ${VM_GENERATOR}
179-
CMAKE_ARGS
180-
-DFORK=2
181-
-DCMAKE_TOOLCHAIN_FILE=${Daemon_SOURCE_DIR}/cmake/toolchain-saigo.cmake
182-
-DDAEMON_DIR=${Daemon_SOURCE_DIR}
183-
-DDEPS_DIR=${DEPS_DIR}
184-
-DBUILD_GAME_NACL=ON
185-
-DUSE_NACL_SAIGO=ON
186-
-DNACL_TARGET=${NACL_TARGET}
187-
-DSAIGO_ARCH=${SAIGO_ARCH}
188-
-DBUILD_GAME_NATIVE_DLL=OFF
189-
-DBUILD_GAME_NATIVE_EXE=OFF
190-
-DBUILD_CLIENT=OFF
191-
-DBUILD_TTY_CLIENT=OFF
192-
-DBUILD_SERVER=OFF
193-
${inherited_option_args}
194-
INSTALL_COMMAND ""
171+
gameSubProject(
172+
-DCMAKE_TOOLCHAIN_FILE=${Daemon_SOURCE_DIR}/cmake/toolchain-saigo.cmake
173+
-DBUILD_GAME_NACL=ON
174+
-DUSE_NACL_SAIGO=ON
175+
-DNACL_TARGET=${NACL_TARGET}
176+
-DSAIGO_ARCH=${SAIGO_ARCH}
177+
-DBUILD_GAME_NATIVE_DLL=OFF
178+
-DBUILD_GAME_NATIVE_EXE=OFF
195179
)
196-
197-
rescanAndRebuild(${VMS_PROJECT})
198180
endforeach()
199181
else()
200182
set(VMS_PROJECT nacl-vms)
@@ -203,27 +185,13 @@ function(GAMEMODULE)
203185
# Workaround a bug where CMake ExternalProject lists-as-args are cut on first “;”
204186
string(REPLACE ";" "," NACL_TARGETS_STRING "${NACL_TARGETS}")
205187

206-
ExternalProject_Add(${VMS_PROJECT}
207-
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
208-
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/${VMS_PROJECT}
209-
CMAKE_GENERATOR ${VM_GENERATOR}
210-
CMAKE_ARGS
211-
-DFORK=2
212-
-DCMAKE_TOOLCHAIN_FILE=${Daemon_SOURCE_DIR}/cmake/toolchain-pnacl.cmake
213-
-DDAEMON_DIR=${Daemon_SOURCE_DIR}
214-
-DDEPS_DIR=${DEPS_DIR}
215-
-DBUILD_GAME_NACL=ON
216-
-DNACL_TARGETS_STRING=${NACL_TARGETS_STRING}
217-
-DBUILD_GAME_NATIVE_DLL=OFF
218-
-DBUILD_GAME_NATIVE_EXE=OFF
219-
-DBUILD_CLIENT=OFF
220-
-DBUILD_TTY_CLIENT=OFF
221-
-DBUILD_SERVER=OFF
222-
${inherited_option_args}
223-
INSTALL_COMMAND ""
188+
gameSubProject(
189+
-DCMAKE_TOOLCHAIN_FILE=${Daemon_SOURCE_DIR}/cmake/toolchain-pnacl.cmake
190+
-DBUILD_GAME_NACL=ON
191+
-DNACL_TARGETS_STRING=${NACL_TARGETS_STRING}
192+
-DBUILD_GAME_NATIVE_DLL=OFF
193+
-DBUILD_GAME_NATIVE_EXE=OFF
224194
)
225-
226-
rescanAndRebuild(${VMS_PROJECT})
227195
endif()
228196
endif()
229197

@@ -244,13 +212,13 @@ function(GAMEMODULE)
244212

245213
buildNexe()
246214

247-
# Revert a workaround for a bug where CMake ExternalProject lists-as-args are cut on first “;”
248-
string(REPLACE "," ";" NACL_TARGETS "${NACL_TARGETS_STRING}")
249-
250215
if (USE_NACL_SAIGO)
251216
# Finalize NaCl executables for supported architectures.
252217
saigo_finalize(${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/.. ${GAMEMODULE_NAME} ${NACL_TARGET})
253218
else()
219+
# Revert a workaround for a bug where CMake ExternalProject lists-as-args are cut on first “;”
220+
string(REPLACE "," ";" NACL_TARGETS "${NACL_TARGETS_STRING}")
221+
254222
# Generate NaCl executables for supported architectures.
255223
foreach(NACL_TARGET ${NACL_TARGETS})
256224
pnacl_finalize(${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ${GAMEMODULE_NAME} ${NACL_TARGET})

0 commit comments

Comments
 (0)