mirror of
https://github.com/KhronosGroup/SPIRV-Tools
synced 2024-11-24 20:40:13 +00:00
Group targets into folders
This plays nicer with IDEs.
This commit is contained in:
parent
dec3f5e231
commit
5c3c054c1f
@ -19,6 +19,7 @@ if (POLICY CMP0054)
|
|||||||
# https://cmake.org/cmake/help/v3.1/policy/CMP0054.html
|
# https://cmake.org/cmake/help/v3.1/policy/CMP0054.html
|
||||||
cmake_policy(SET CMP0054 NEW)
|
cmake_policy(SET CMP0054 NEW)
|
||||||
endif()
|
endif()
|
||||||
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
||||||
|
|
||||||
project(spirv-tools)
|
project(spirv-tools)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
@ -12,4 +12,24 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
# Add a SPIR-V Tools example. Signature:
|
||||||
|
# add_spvtools_example(
|
||||||
|
# TARGET target_name
|
||||||
|
# SRCS src_file1.cpp src_file2.cpp
|
||||||
|
# LIBS lib_target1 lib_target2
|
||||||
|
# )
|
||||||
|
function(add_spvtools_example)
|
||||||
|
if (NOT ${SPIRV_SKIP_EXECUTABLES})
|
||||||
|
set(one_value_args TARGET)
|
||||||
|
set(multi_value_args SRCS LIBS)
|
||||||
|
cmake_parse_arguments(
|
||||||
|
ARG "" "${one_value_args}" "${multi_value_args}" ${ARGN})
|
||||||
|
|
||||||
|
add_executable(${ARG_TARGET} ${ARG_SRCS})
|
||||||
|
spvtools_default_compile_options(${ARG_TARGET})
|
||||||
|
target_link_libraries(${ARG_TARGET} PRIVATE ${ARG_LIBS})
|
||||||
|
set_property(TARGET ${ARG_TARGET} PROPERTY FOLDER "SPIRV-Tools examples")
|
||||||
|
endif()
|
||||||
|
endfunction()
|
||||||
|
|
||||||
add_subdirectory(cpp-interface)
|
add_subdirectory(cpp-interface)
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
if (NOT ${SPIRV_SKIP_EXECUTABLES})
|
add_spvtools_example(
|
||||||
add_executable(spirv-tools-cpp-example main.cpp)
|
TARGET spirv-tools-cpp-example
|
||||||
spvtools_default_compile_options(spirv-tools-cpp-example)
|
SRCS main.cpp
|
||||||
target_link_libraries(spirv-tools-cpp-example PRIVATE SPIRV-Tools-opt)
|
LIBS SPIRV-Tools-opt
|
||||||
endif()
|
)
|
11
external/CMakeLists.txt
vendored
11
external/CMakeLists.txt
vendored
@ -43,4 +43,15 @@ if (NOT ${SPIRV_SKIP_EXECUTABLES})
|
|||||||
add_subdirectory(${GMOCK_DIR})
|
add_subdirectory(${GMOCK_DIR})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
if (TARGET gmock)
|
||||||
|
set(GTEST_TARGETS
|
||||||
|
gtest
|
||||||
|
gtest_main
|
||||||
|
gmock
|
||||||
|
gmock_main
|
||||||
|
)
|
||||||
|
foreach(target ${GTEST_TARGETS})
|
||||||
|
set_property(TARGET ${target} PROPERTY FOLDER GoogleTest)
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
@ -106,6 +106,7 @@ macro(spvtools_vendor_tables VENDOR_TABLE)
|
|||||||
COMMENT "Generate extended instruction tables for ${VENDOR_TABLE}.")
|
COMMENT "Generate extended instruction tables for ${VENDOR_TABLE}.")
|
||||||
list(APPEND EXTINST_CPP_DEPENDS ${INSTS_FILE})
|
list(APPEND EXTINST_CPP_DEPENDS ${INSTS_FILE})
|
||||||
add_custom_target(spirv-tools-${VENDOR_TABLE} DEPENDS ${INSTS_FILE})
|
add_custom_target(spirv-tools-${VENDOR_TABLE} DEPENDS ${INSTS_FILE})
|
||||||
|
set_property(TARGET spirv-tools-${VENDOR_TABLE} PROPERTY FOLDER "SPIRV-Tools build")
|
||||||
endmacro(spvtools_vendor_tables)
|
endmacro(spvtools_vendor_tables)
|
||||||
|
|
||||||
spvtools_core_tables("1.0")
|
spvtools_core_tables("1.0")
|
||||||
@ -117,7 +118,7 @@ spvtools_vendor_tables("spv-amd-gcn-shader")
|
|||||||
|
|
||||||
spvtools_vimsyntax("1.1" "1.0")
|
spvtools_vimsyntax("1.1" "1.0")
|
||||||
add_custom_target(spirv-tools-vimsyntax DEPENDS ${VIMSYNTAX_FILE})
|
add_custom_target(spirv-tools-vimsyntax DEPENDS ${VIMSYNTAX_FILE})
|
||||||
|
set_property(TARGET spirv-tools-vimsyntax PROPERTY FOLDER "SPIRV-Tools utilities")
|
||||||
|
|
||||||
# Extract the list of known generators from the SPIR-V XML registry file.
|
# Extract the list of known generators from the SPIR-V XML registry file.
|
||||||
set(GENERATOR_INC_FILE ${spirv-tools_BINARY_DIR}/generators.inc)
|
set(GENERATOR_INC_FILE ${spirv-tools_BINARY_DIR}/generators.inc)
|
||||||
@ -181,6 +182,7 @@ add_custom_command(OUTPUT ${SPIRV_TOOLS_BUILD_VERSION_INC}
|
|||||||
# This is not required for any dependence chain.
|
# This is not required for any dependence chain.
|
||||||
add_custom_target(spirv-tools-build-version
|
add_custom_target(spirv-tools-build-version
|
||||||
DEPENDS ${SPIRV_TOOLS_BUILD_VERSION_INC})
|
DEPENDS ${SPIRV_TOOLS_BUILD_VERSION_INC})
|
||||||
|
set_property(TARGET spirv-tools-build-version PROPERTY FOLDER "SPIRV-Tools build")
|
||||||
|
|
||||||
add_subdirectory(opt)
|
add_subdirectory(opt)
|
||||||
|
|
||||||
@ -276,6 +278,7 @@ target_include_directories(${SPIRV_TOOLS}
|
|||||||
PRIVATE ${spirv-tools_BINARY_DIR}
|
PRIVATE ${spirv-tools_BINARY_DIR}
|
||||||
PRIVATE ${SPIRV_HEADER_INCLUDE_DIR}
|
PRIVATE ${SPIRV_HEADER_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
set_property(TARGET ${SPIRV_TOOLS} PROPERTY FOLDER "SPIRV-Tools libraries")
|
||||||
|
|
||||||
install(TARGETS ${SPIRV_TOOLS}
|
install(TARGETS ${SPIRV_TOOLS}
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
|
@ -66,6 +66,8 @@ target_include_directories(SPIRV-Tools-opt
|
|||||||
target_link_libraries(SPIRV-Tools-opt
|
target_link_libraries(SPIRV-Tools-opt
|
||||||
PUBLIC ${SPIRV_TOOLS})
|
PUBLIC ${SPIRV_TOOLS})
|
||||||
|
|
||||||
|
set_property(TARGET SPIRV-Tools-opt PROPERTY FOLDER "SPIRV-Tools libraries")
|
||||||
|
|
||||||
install(TARGETS SPIRV-Tools-opt
|
install(TARGETS SPIRV-Tools-opt
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION lib
|
||||||
|
@ -59,6 +59,7 @@ function(add_spvtools_unittest)
|
|||||||
target_link_libraries(${target} PRIVATE ${ARG_LIBS})
|
target_link_libraries(${target} PRIVATE ${ARG_LIBS})
|
||||||
target_link_libraries(${target} PRIVATE gmock_main)
|
target_link_libraries(${target} PRIVATE gmock_main)
|
||||||
add_test(NAME spirv-tools-${target} COMMAND ${target})
|
add_test(NAME spirv-tools-${target} COMMAND ${target})
|
||||||
|
set_property(TARGET ${target} PROPERTY FOLDER "SPIRV-Tools tests")
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
@ -33,7 +33,8 @@ function(add_spvtools_tool)
|
|||||||
target_include_directories(${ARG_TARGET} PRIVATE
|
target_include_directories(${ARG_TARGET} PRIVATE
|
||||||
${spirv-tools_SOURCE_DIR}
|
${spirv-tools_SOURCE_DIR}
|
||||||
${spirv-tools_BINARY_DIR}
|
${spirv-tools_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
set_property(TARGET ${ARG_TARGET} PROPERTY FOLDER "SPIRV-Tools executables")
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
if (NOT ${SPIRV_SKIP_EXECUTABLES})
|
if (NOT ${SPIRV_SKIP_EXECUTABLES})
|
||||||
|
Loading…
Reference in New Issue
Block a user