Split CMake build into separate static libs.
Makes it easier to use SPIRV-Cross from other CMake projects.
This commit is contained in:
parent
301e981203
commit
f10fbc8131
@ -22,27 +22,42 @@ if(${CMAKE_GENERATOR} MATCHES "Makefile")
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(spirv-cross
|
add_library(spirv-cross-core STATIC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/GLSL.std.450.h
|
${CMAKE_CURRENT_SOURCE_DIR}/GLSL.std.450.h
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_common.hpp
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_common.hpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cpp.hpp
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cross.hpp
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_glsl.hpp
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv.hpp
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv.hpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_msl.hpp
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cross.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cross.cpp)
|
||||||
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/main.cpp
|
add_library(spirv-cross-glsl STATIC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cpp.cpp
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cross.cpp
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_glsl.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_glsl.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spirv_msl.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_glsl.hpp)
|
||||||
)
|
|
||||||
|
add_library(spirv-cross-cpp STATIC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cpp.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_cpp.cpp)
|
||||||
|
|
||||||
|
add_library(spirv-cross-msl STATIC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_msl.hpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/spirv_msl.cpp)
|
||||||
|
|
||||||
|
add_executable(spirv-cross main.cpp)
|
||||||
|
target_link_libraries(spirv-cross spirv-cross-glsl spirv-cross-cpp spirv-cross-msl spirv-cross-core)
|
||||||
|
target_link_libraries(spirv-cross-glsl spirv-cross-core)
|
||||||
|
target_link_libraries(spirv-cross-msl spirv-cross-glsl)
|
||||||
|
target_link_libraries(spirv-cross-cpp spirv-cross-glsl)
|
||||||
|
target_include_directories(spirv-cross-core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# To specify special debug or optimization options, use
|
# To specify special debug or optimization options, use
|
||||||
# -DCMAKE_CXX_COMPILE_FLAGS
|
# -DCMAKE_CXX_COMPILE_FLAGS
|
||||||
# However, we require the C++11 dialect.
|
# However, we require the C++11 dialect.
|
||||||
if (NOT "${MSVC}")
|
if (NOT "${MSVC}")
|
||||||
target_compile_options(spirv-cross PRIVATE -std=c++11 -Wall -Wextra -Werror -Wshadow)
|
set(spirv-compiler-options -std=c++11 -Wall -Wextra -Werror -Wshadow)
|
||||||
|
target_compile_options(spirv-cross-core PRIVATE ${spirv-compiler-options})
|
||||||
|
target_compile_options(spirv-cross-glsl PRIVATE ${spirv-compiler-options})
|
||||||
|
target_compile_options(spirv-cross-msl PRIVATE ${spirv-compiler-options})
|
||||||
|
target_compile_options(spirv-cross-cpp PRIVATE ${spirv-compiler-options})
|
||||||
|
target_compile_options(spirv-cross PRIVATE ${spirv-compiler-options})
|
||||||
endif(NOT "${MSVC}")
|
endif(NOT "${MSVC}")
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user