diff --git a/third_party/spirv-tools/CMakeLists.txt b/third_party/spirv-tools/CMakeLists.txt index 6ed56a81..2392dfd8 100755 --- a/third_party/spirv-tools/CMakeLists.txt +++ b/third_party/spirv-tools/CMakeLists.txt @@ -24,8 +24,19 @@ if (POLICY CMP0054) endif() set_property(GLOBAL PROPERTY USE_FOLDERS ON) +# Filament specific changes +if (APPLE) + set(CMAKE_MACOSX_RPATH ON) +endif (APPLE) +set(SPIRV_SKIP_EXECUTABLES_OPTION ON) +set(SPIRV_SKIP_TESTS_OPTION ON) +set(SKIP_SPIRV_TOOLS_INSTALL ON) +# End Filament specific changes + project(spirv-tools) -enable_testing() +# Filament specific changes +# enable_testing() +# End Filament specific changes set(SPIRV_TOOLS "SPIRV-Tools") include(GNUInstallDirs) @@ -68,7 +79,9 @@ if ("${CMAKE_BUILD_TYPE}" STREQUAL "") set(CMAKE_BUILD_TYPE "Debug") endif() -option(SKIP_SPIRV_TOOLS_INSTALL "Skip installation" ${SKIP_SPIRV_TOOLS_INSTALL}) +# Filament specific changes +# option(SKIP_SPIRV_TOOLS_INSTALL "Skip installation" ${SKIP_SPIRV_TOOLS_INSTALL}) +# End Filament specific changes if(NOT ${SKIP_SPIRV_TOOLS_INSTALL}) set(ENABLE_SPIRV_TOOLS_INSTALL ON) endif() @@ -231,11 +244,13 @@ if(ENABLE_SPIRV_TOOLS_INSTALL) endif() # Defaults to OFF if the user didn't set it. +# Filament specific changes option(SPIRV_SKIP_EXECUTABLES "Skip building the executable and tests along with the library" - ${SPIRV_SKIP_EXECUTABLES}) + ${SPIRV_SKIP_EXECUTABLES_OPTION}) option(SPIRV_SKIP_TESTS - "Skip building tests along with the library" ${SPIRV_SKIP_TESTS}) + "Skip building tests along with the library" ${SPIRV_SKIP_TESTS_OPTION}) +# End Filament specific changes if ("${SPIRV_SKIP_EXECUTABLES}") set(SPIRV_SKIP_TESTS ON) endif() @@ -279,8 +294,10 @@ endif() add_subdirectory(source) add_subdirectory(tools) -add_subdirectory(test) -add_subdirectory(examples) +# Filament specific changes +#add_subdirectory(test) +#add_subdirectory(examples) +# End Filament specific changes if(ENABLE_SPIRV_TOOLS_INSTALL) install( @@ -305,28 +322,30 @@ set(SPIRV_SHARED_LIBRARIES "-lSPIRV-Tools-shared") # Build pkg-config file # Use a first-class target so it's regenerated when relevant files are updated. -add_custom_target(spirv-tools-pkg-config ALL - COMMAND ${CMAKE_COMMAND} - -DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES - -DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools.pc.in - -DOUT_FILE=${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} - -DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR} - -DSPIRV_LIBRARIES=${SPIRV_LIBRARIES} - -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake - DEPENDS "CHANGES" "cmake/SPIRV-Tools.pc.in" "cmake/write_pkg_config.cmake") -add_custom_target(spirv-tools-shared-pkg-config ALL - COMMAND ${CMAKE_COMMAND} - -DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES - -DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools-shared.pc.in - -DOUT_FILE=${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} - -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} - -DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR} - -DSPIRV_SHARED_LIBRARIES=${SPIRV_SHARED_LIBRARIES} - -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake - DEPENDS "CHANGES" "cmake/SPIRV-Tools-shared.pc.in" "cmake/write_pkg_config.cmake") +# Filament specific changes +# add_custom_target(spirv-tools-pkg-config ALL +# COMMAND ${CMAKE_COMMAND} +# -DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES +# -DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools.pc.in +# -DOUT_FILE=${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools.pc +# -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} +# -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} +# -DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR} +# -DSPIRV_LIBRARIES=${SPIRV_LIBRARIES} +# -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake +# DEPENDS "CHANGES" "cmake/SPIRV-Tools.pc.in" "cmake/write_pkg_config.cmake") +# add_custom_target(spirv-tools-shared-pkg-config ALL +# COMMAND ${CMAKE_COMMAND} +# -DCHANGES_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CHANGES +# -DTEMPLATE_FILE=${CMAKE_CURRENT_SOURCE_DIR}/cmake/SPIRV-Tools-shared.pc.in +# -DOUT_FILE=${CMAKE_CURRENT_BINARY_DIR}/SPIRV-Tools-shared.pc +# -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} +# -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR} +# -DCMAKE_INSTALL_INCLUDEDIR=${CMAKE_INSTALL_INCLUDEDIR} +# -DSPIRV_SHARED_LIBRARIES=${SPIRV_SHARED_LIBRARIES} +# -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/write_pkg_config.cmake +# DEPENDS "CHANGES" "cmake/SPIRV-Tools-shared.pc.in" "cmake/write_pkg_config.cmake") +# End Filament specific changes # Install pkg-config file if (ENABLE_SPIRV_TOOLS_INSTALL) @@ -201,7 +201,11 @@ if(NOT COMMAND find_host_program) endif() # Tests require Python3 -find_host_package(PythonInterp 3 REQUIRED) +if(CMAKE_VERSION VERSION_LESS "3.12" OR ${CMAKE_SYSTEM_NAME} MATCHES "Windows") + find_host_package(PythonInterp 3 REQUIRED) +else() + find_package(Python3 COMPONENTS Interpreter) +endif() # Check for symbol exports on Linux. # At the moment, this check will fail on the OSX build machines for the Android NDK.