@@ -46,7 +46,11 @@ find_package(JsonCpp)
4646### All options defined here
4747option (BUILD_LOADER "Build loader" ON )
4848option (BUILD_ALL_EXTENSIONS "Build loader and layers with all extensions" OFF )
49- option (BUILD_LOADER_WITH_EXCEPTION_HANDLING "Enable exception handling in the loader. Leave this on unless your standard library is built to not throw." ON )
49+ option (
50+ BUILD_LOADER_WITH_EXCEPTION_HANDLING
51+ "Enable exception handling in the loader. Leave this on unless your standard library is built to not throw."
52+ ON
53+ )
5054if (CMAKE_SYSTEM_NAME STREQUAL "Windows" )
5155 option (DYNAMIC_LOADER "Build the loader as a .dll library" OFF )
5256else ()
@@ -63,9 +67,9 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/conformance" AND NOT CMAKE_SYSTEM_NAME ST
6367endif ()
6468include (CMakeDependentOption)
6569
66- cmake_dependent_option(BUILD_WITH_SYSTEM_JSONCPP "Use system jsoncpp instead of vendored source" ON
67- "JSONCPP_FOUND" OFF )
68-
70+ cmake_dependent_option(
71+ BUILD_WITH_SYSTEM_JSONCPP "Use system jsoncpp instead of vendored source" ON "JSONCPP_FOUND" OFF
72+ )
6973
7074# Several files use these compile-time OS switches
7175if (WIN32 )
@@ -95,16 +99,16 @@ endif()
9599
96100# Several files use these compile-time platform switches
97101if (WIN32 )
98- add_definitions ( -DXR_USE_PLATFORM_WIN32 )
99- elseif ( PRESENTATION_BACKEND MATCHES "xlib" )
100- add_definitions ( -DXR_USE_PLATFORM_XLIB )
101- elseif ( PRESENTATION_BACKEND MATCHES "xcb" )
102- add_definitions ( -DXR_USE_PLATFORM_XCB )
102+ add_definitions (-DXR_USE_PLATFORM_WIN32)
103+ elseif (PRESENTATION_BACKEND MATCHES "xlib" )
104+ add_definitions (-DXR_USE_PLATFORM_XLIB)
105+ elseif (PRESENTATION_BACKEND MATCHES "xcb" )
106+ add_definitions (-DXR_USE_PLATFORM_XCB)
103107
104108 # TODO remove once conformance supports XCB
105109 set (BUILD_CONFORMANCE_TESTS OFF )
106- elseif ( PRESENTATION_BACKEND MATCHES "wayland" )
107- add_definitions ( -DXR_USE_PLATFORM_WAYLAND )
110+ elseif (PRESENTATION_BACKEND MATCHES "wayland" )
111+ add_definitions (-DXR_USE_PLATFORM_WAYLAND)
108112
109113 # TODO remove once conformance supports Wayland
110114 set (BUILD_CONFORMANCE_TESTS OFF )
@@ -162,11 +166,8 @@ function(compile_glsl run_target_name)
162166 endif ()
163167 list (APPEND glsl_output_files ${out_file} )
164168 endforeach ()
165- add_custom_target (
166- ${run_target_name} ALL
167- DEPENDS ${glsl_output_files}
168- )
169- set_target_properties (${run_target_name} PROPERTIES FOLDER ${HELPER_FOLDER} )
169+ add_custom_target (${run_target_name} ALL DEPENDS ${glsl_output_files} )
170+ set_target_properties (${run_target_name} PROPERTIES FOLDER ${HELPER_FOLDER} )
170171
171172endfunction ()
172173
@@ -184,8 +185,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/common_config.h.in ${CMAKE_CURRENT_BI
184185add_definitions (-DOPENXR_HAVE_COMMON_CONFIG)
185186
186187# Be able to find pre-generated files, if used.
187- include_directories (${CMAKE_CURRENT_SOURCE_DIR} /../include
188- ${CMAKE_CURRENT_SOURCE_DIR} )
188+ include_directories (${CMAKE_CURRENT_SOURCE_DIR} /../include ${CMAKE_CURRENT_SOURCE_DIR} )
189189
190190add_definitions (-DXR_USE_TIMESPEC)
191191
@@ -195,9 +195,13 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/version.cmake)
195195# Path separators ( : or ; ) are not handled well in CMake.
196196# This seems like a reasonable approach.
197197if (WIN32 )
198- set (CODEGEN_PYTHON_PATH "${PROJECT_SOURCE_DIR} /specification/scripts;${PROJECT_SOURCE_DIR} /src/scripts;$ENV{PYTHONPATH} " )
198+ set (CODEGEN_PYTHON_PATH
199+ "${PROJECT_SOURCE_DIR} /specification/scripts;${PROJECT_SOURCE_DIR} /src/scripts;$ENV{PYTHONPATH} "
200+ )
199201else ()
200- set (CODEGEN_PYTHON_PATH "${PROJECT_SOURCE_DIR} /specification/scripts:${PROJECT_SOURCE_DIR} /src/scripts:$ENV{PYTHONPATH} " )
202+ set (CODEGEN_PYTHON_PATH
203+ "${PROJECT_SOURCE_DIR} /specification/scripts:${PROJECT_SOURCE_DIR} /src/scripts:$ENV{PYTHONPATH} "
204+ )
201205endif ()
202206
203207# General code generation macro used by several targets.
@@ -208,22 +212,26 @@ macro(run_xr_xml_generate dependency output)
208212 list (APPEND GENERATED_OUTPUT "${CMAKE_CURRENT_SOURCE_DIR} /${output} " )
209213 else ()
210214 if (NOT PYTHON_EXECUTABLE)
211- message (FATAL_ERROR "Python 3 not found, but pre-generated ${CMAKE_CURRENT_SOURCE_DIR} /${output} not found" )
215+ message (
216+ FATAL_ERROR
217+ "Python 3 not found, but pre-generated ${CMAKE_CURRENT_SOURCE_DIR} /${output} not found"
218+ )
212219 endif ()
213- add_custom_command (OUTPUT ${output}
214- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH} "
220+ add_custom_command (
221+ OUTPUT ${output}
222+ COMMAND
223+ ${CMAKE_COMMAND} -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH} "
215224 ${PYTHON_EXECUTABLE}
216- ${PROJECT_SOURCE_DIR} /src/scripts/src_genxr.py
217- -registry ${PROJECT_SOURCE_DIR} /specification/registry/xr.xml
218- ${output}
225+ ${PROJECT_SOURCE_DIR} /src/scripts/src_genxr.py
226+ -registry ${PROJECT_SOURCE_DIR} /specification/registry/xr.xml
227+ ${output}
219228 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
220- DEPENDS
221- "${PROJECT_SOURCE_DIR} /specification/registry/xr.xml"
229+ DEPENDS "${PROJECT_SOURCE_DIR} /specification/registry/xr.xml"
222230 "${PROJECT_SOURCE_DIR} /specification/scripts/generator.py"
223231 "${PROJECT_SOURCE_DIR} /specification/scripts/reg.py"
224232 "${PROJECT_SOURCE_DIR} /src/scripts/${dependency} "
225233 "${PROJECT_SOURCE_DIR} /src/scripts/src_genxr.py"
226- ${ARGN}
234+ ${ARGN}
227235 COMMENT "Generating ${output} using ${PYTHON_EXECUTABLE} on ${dependency} "
228236 )
229237 set_source_files_properties (${output} PROPERTIES GENERATED TRUE )
@@ -234,14 +242,23 @@ endmacro()
234242
235243# Layer JSON generation macro used by several targets.
236244macro (gen_xr_layer_json filename layername libfile version desc genbad)
237- add_custom_command (OUTPUT ${filename}
238- COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH} "
245+ add_custom_command (
246+ OUTPUT ${filename}
247+ COMMAND
248+ ${CMAKE_COMMAND} -E env "PYTHONPATH=${CODEGEN_PYTHON_PATH} "
239249 ${PYTHON_EXECUTABLE}
240- ${PROJECT_SOURCE_DIR} /src/scripts/generate_api_layer_manifest.py
241- -f ${filename} -n ${layername} -l ${libfile} -a ${MAJOR} .${MINOR} -v ${version} ${genbad} -d ${desc}
250+ ${PROJECT_SOURCE_DIR} /src/scripts/generate_api_layer_manifest.py
251+ -f ${filename}
252+ -n ${layername}
253+ -l ${libfile}
254+ -a ${MAJOR} .${MINOR}
255+ -v ${version}
256+ ${genbad}
257+ -d ${desc}
242258 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
243259 DEPENDS ${PROJECT_SOURCE_DIR} /src/scripts/generate_api_layer_manifest.py
244- COMMENT "Generating API Layer JSON ${filename} using -f ${filename} -n ${layername} -l ${libfile} -a ${MAJOR} .${MINOR} -v ${version} ${genbad} -d ${desc} "
260+ COMMENT
261+ "Generating API Layer JSON ${filename} using -f ${filename} -n ${layername} -l ${libfile} -a ${MAJOR} .${MINOR} -v ${version} ${genbad} -d ${desc} "
245262 )
246263endmacro ()
247264
@@ -250,9 +267,7 @@ set(GENERATED_OUTPUT)
250267set (GENERATED_DEPENDS)
251268run_xr_xml_generate(utility_source_generator.py xr_generated_dispatch_table.h)
252269run_xr_xml_generate(utility_source_generator.py xr_generated_dispatch_table.c)
253- add_custom_target (xr_global_generated_files DEPENDS
254- ${GENERATED_DEPENDS}
255- )
270+ add_custom_target (xr_global_generated_files DEPENDS ${GENERATED_DEPENDS} )
256271set_target_properties (xr_global_generated_files PROPERTIES FOLDER ${CODEGEN_FOLDER} )
257272
258273set (COMMON_GENERATED_OUTPUT ${GENERATED_OUTPUT} )
@@ -274,6 +289,3 @@ endif()
274289if (BUILD_CONFORMANCE_TESTS)
275290 add_subdirectory (conformance)
276291endif ()
277-
278-
279-
0 commit comments