@@ -11,19 +11,13 @@ set_property(GLOBAL PROPERTY LAUNCHER_UNIFIED_BINARY_DIR ${CMAKE_CURRENT_BINARY_
11
11
# Launcher targets for a project need to be generated when configuring a project.
12
12
# When building the engine source, this file will be included by LauncherUnified's CMakeLists.txt
13
13
# When using an installed engine, this file will be included by the FindLauncherGenerator.cmake script
14
- get_property (LY_PROJECTS_TARGET_NAME GLOBAL PROPERTY LY_PROJECTS_TARGET_NAME )
15
- foreach (project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJECTS)
14
+ get_property (O3DE_PROJECTS_NAME GLOBAL PROPERTY O3DE_PROJECTS_NAME )
15
+ foreach (project_name project_path IN ZIP_LISTS O3DE_PROJECTS_NAME LY_PROJECTS)
16
16
17
17
# Computes the realpath to the project
18
18
# If the project_path is relative, it is evaluated relative to the ${LY_ROOT_FOLDER}
19
19
# Otherwise the the absolute project_path is returned with symlinks resolved
20
20
file (REAL_PATH ${project_path} project_real_path BASE_DIRECTORY ${LY_ROOT_FOLDER} )
21
- if (NOT project_name )
22
- o3de_read_json_key(project_name ${project_real_path} /project.json "project_name" )
23
- message (WARNING "The project located at path ${project_real_path} has a valid \" project name\" of '${project_name} ' read from it's project.json file."
24
- " This indicates that the ${project_real_path} /CMakeLists.txt is not properly appending the \" project name\" "
25
- "to the LY_PROJECTS_TARGET_NAME global property. Other configuration errors might occur" )
26
- endif ()
27
21
28
22
################################################################################
29
23
# Assets
@@ -143,63 +137,56 @@ foreach(project_name project_path IN ZIP_LISTS LY_PROJECTS_TARGET_NAME LY_PROJEC
143
137
# Server
144
138
################################################################################
145
139
if (PAL_TRAIT_BUILD_SERVER_SUPPORTED)
140
+ ly_add_target(
141
+ NAME ${project_name} .ServerLauncher APPLICATION
142
+ NAMESPACE AZ
143
+ FILES_CMAKE
144
+ ${CMAKE_CURRENT_LIST_DIR} /launcher_project_files.cmake
145
+ PLATFORM_INCLUDE_FILES
146
+ ${pal_dir} /launcher_project_${PAL_PLATFORM_NAME_LOWERCASE} .cmake
147
+ COMPILE_DEFINITIONS
148
+ PRIVATE
149
+ # Adds the name of the project/game
150
+ LY_PROJECT_NAME="${project_name} "
151
+ # Adds the ${project_name}_ServerLauncher target as a define so for the Settings Registry to use
152
+ # when loading .setreg file specializations
153
+ # This is needed so that only gems for the project server launcher are loaded
154
+ LY_CMAKE_TARGET="${project_name} _ServerLauncher"
155
+ INCLUDE_DIRECTORIES
156
+ PRIVATE
157
+ .
158
+ ${CMAKE_CURRENT_BINARY_DIR} /${project_name} .ServerLauncher/Includes # required for StaticModules.inl
159
+ BUILD_DEPENDENCIES
160
+ PRIVATE
161
+ AZ::Launcher.Static
162
+ AZ::Launcher.Server.Static
163
+ ${server_build_dependencies}
164
+ RUNTIME_DEPENDENCIES
165
+ ${server_runtime_dependencies}
166
+ )
167
+ # Needs to be set manually after ly_add_target to prevent the default location overriding it
168
+ set_target_properties (${project_name} .ServerLauncher
169
+ PROPERTIES
170
+ FOLDER ${project_name}
171
+ LY_PROJECT_NAME ${project_name}
172
+ )
146
173
147
- get_property (server_projects GLOBAL PROPERTY LY_LAUNCHER_SERVER_PROJECTS)
148
- if (${project_name} IN_LIST server_projects)
149
-
150
- ly_add_target(
151
- NAME ${project_name} .ServerLauncher APPLICATION
152
- NAMESPACE AZ
153
- FILES_CMAKE
154
- ${CMAKE_CURRENT_LIST_DIR} /launcher_project_files.cmake
155
- PLATFORM_INCLUDE_FILES
156
- ${pal_dir} /launcher_project_${PAL_PLATFORM_NAME_LOWERCASE} .cmake
157
- COMPILE_DEFINITIONS
158
- PRIVATE
159
- # Adds the name of the project/game
160
- LY_PROJECT_NAME="${project_name} "
161
- # Adds the ${project_name}_ServerLauncher target as a define so for the Settings Registry to use
162
- # when loading .setreg file specializations
163
- # This is needed so that only gems for the project server launcher are loaded
164
- LY_CMAKE_TARGET="${project_name} _ServerLauncher"
165
- INCLUDE_DIRECTORIES
166
- PRIVATE
167
- .
168
- ${CMAKE_CURRENT_BINARY_DIR} /${project_name} .ServerLauncher/Includes # required for StaticModules.inl
169
- BUILD_DEPENDENCIES
170
- PRIVATE
171
- AZ::Launcher.Static
172
- AZ::Launcher.Server.Static
173
- ${server_build_dependencies}
174
- RUNTIME_DEPENDENCIES
175
- ${server_runtime_dependencies}
176
- )
177
- # Needs to be set manually after ly_add_target to prevent the default location overriding it
178
- set_target_properties (${project_name} .ServerLauncher
179
- PROPERTIES
180
- FOLDER ${project_name}
181
- LY_PROJECT_NAME ${project_name}
182
- )
183
-
184
- if (LY_DEFAULT_PROJECT_PATH)
185
- if (TARGET ${project_name} )
186
- get_target_property (project_server_launcher_additional_args ${project_name} SERVERLAUNCHER_ADDITIONAL_VS_DEBUGGER_COMMAND_ARGUMENTS)
187
- if (project_server_launcher_additional_args)
188
- # Avoid pushing param-NOTFOUND into the argument in case this property wasn't found
189
- set (additional_server_vs_debugger_args "${project_server_launcher_additional_args} " )
190
- endif ()
174
+ if (LY_DEFAULT_PROJECT_PATH)
175
+ if (TARGET ${project_name} )
176
+ get_target_property (project_server_launcher_additional_args ${project_name} SERVERLAUNCHER_ADDITIONAL_VS_DEBUGGER_COMMAND_ARGUMENTS)
177
+ if (project_server_launcher_additional_args)
178
+ # Avoid pushing param-NOTFOUND into the argument in case this property wasn't found
179
+ set (additional_server_vs_debugger_args "${project_server_launcher_additional_args} " )
191
180
endif ()
192
-
193
- set_property (TARGET ${project_name} .ServerLauncher APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS
194
- "--project-path=\" ${LY_DEFAULT_PROJECT_PATH} \" ${additional_server_vs_debugger_args} " )
195
181
endif ()
196
182
197
- # Associate the Servers Gem Variant with each projects ServerLauncher
198
- ly_set_gem_variant_to_load(TARGETS ${project_name} .ServerLauncher VARIANTS Servers )
183
+ set_property ( TARGET ${project_name} .ServerLauncher APPEND PROPERTY VS_DEBUGGER_COMMAND_ARGUMENTS
184
+ "--project-path= \" ${LY_DEFAULT_PROJECT_PATH} \" ${additional_server_vs_debugger_args} " )
199
185
endif ()
200
186
187
+ # Associate the Servers Gem Variant with each projects ServerLauncher
188
+ ly_set_gem_variant_to_load(TARGETS ${project_name} .ServerLauncher VARIANTS Servers)
201
189
endif ()
202
-
203
190
endforeach ()
204
191
205
192
#! Defer generation of the StaticModules.inl file needed in monolithic builds until after all the CMake targets are known
0 commit comments