1
Fork 0
mirror of https://github.com/redstrate/dxbc.git synced 2025-04-21 12:17:45 +00:00

Clean up CMakeLists.txt, make building example optional

This commit is contained in:
Joshua Goins 2023-09-23 14:00:12 -04:00
parent 584a7c6533
commit 9b90121660
5 changed files with 56 additions and 52 deletions

View file

@ -1,48 +1,15 @@
cmake_minimum_required(VERSION 3.27) cmake_minimum_required(VERSION 3.27)
project(dxbc LANGUAGES CXX) project(dxbc LANGUAGES CXX)
add_library(windows-headers INTERFACE) option(BUILD_EXAMPLE "Build example application" ON)
target_include_directories(windows-headers INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include/windows)
find_package(Vulkan REQUIRED) find_package(Vulkan REQUIRED)
add_subdirectory(include/windows)
add_subdirectory(src/util) add_subdirectory(src/util)
add_subdirectory(src/spirv) add_subdirectory(src/spirv)
add_subdirectory(src/dxbc)
add_library(dxbc STATIC) if (BUILD_EXAMPLE)
target_sources(dxbc PRIVATE
src/dxbc/dxbc_analysis.cpp
src/dxbc/dxbc_analysis.h
src/dxbc/dxbc_chunk_isgn.cpp
src/dxbc/dxbc_chunk_isgn.h
src/dxbc/dxbc_chunk_shex.cpp
src/dxbc/dxbc_chunk_shex.h
src/dxbc/dxbc_common.cpp
src/dxbc/dxbc_common.h
src/dxbc/dxbc_compiler.cpp
src/dxbc/dxbc_compiler.h
src/dxbc/dxbc_decoder.cpp
src/dxbc/dxbc_decoder.h
src/dxbc/dxbc_defs.cpp
src/dxbc/dxbc_defs.h
src/dxbc/dxbc_enums.h
src/dxbc/dxbc_header.cpp
src/dxbc/dxbc_header.h
src/dxbc/dxbc_include.h
src/dxbc/dxbc_modinfo.h
src/dxbc/dxbc_module.cpp
src/dxbc/dxbc_module.h
src/dxbc/dxbc_names.cpp
src/dxbc/dxbc_names.h
src/dxbc/dxbc_options.cpp
src/dxbc/dxbc_options.h
src/dxbc/dxbc_reader.cpp
src/dxbc/dxbc_reader.h
src/dxbc/dxbc_tag.h
src/dxbc/dxbc_util.cpp
src/dxbc/dxbc_util.h
)
target_include_directories(dxbc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src)
target_link_libraries(dxbc PUBLIC dxbc-util dxbc-spirv Vulkan::Vulkan)
add_subdirectory(example) add_subdirectory(example)
endif()

View file

@ -1,7 +1,7 @@
#include <iostream> #include <iostream>
#include <dxbc/dxbc_module.h> #include <dxbc_module.h>
#include <util/log/log.h> #include <log/log.h>
#include <spirv_cross/spirv_glsl.hpp> #include <spirv_cross/spirv_glsl.hpp>

View file

@ -0,0 +1,2 @@
add_library(windows-headers INTERFACE)
target_include_directories(windows-headers INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})

35
src/dxbc/CMakeLists.txt Normal file
View file

@ -0,0 +1,35 @@
add_library(dxbc STATIC)
target_sources(dxbc PRIVATE
dxbc_analysis.cpp
dxbc_analysis.h
dxbc_chunk_isgn.cpp
dxbc_chunk_isgn.h
dxbc_chunk_shex.cpp
dxbc_chunk_shex.h
dxbc_common.cpp
dxbc_common.h
dxbc_compiler.cpp
dxbc_compiler.h
dxbc_decoder.cpp
dxbc_decoder.h
dxbc_defs.cpp
dxbc_defs.h
dxbc_enums.h
dxbc_header.cpp
dxbc_header.h
dxbc_include.h
dxbc_modinfo.h
dxbc_module.cpp
dxbc_module.h
dxbc_names.cpp
dxbc_names.h
dxbc_options.cpp
dxbc_options.h
dxbc_reader.cpp
dxbc_reader.h
dxbc_tag.h
dxbc_util.cpp
dxbc_util.h
)
target_include_directories(dxbc PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(dxbc PUBLIC dxbc-util dxbc-spirv Vulkan::Vulkan)

View file

@ -2,17 +2,17 @@
#include <vulkan/vulkan.h> #include <vulkan/vulkan.h>
#include "util/com/com_guid.h" #include "../util/com/com_guid.h"
#include "util/com/com_object.h" #include "../util/com/com_object.h"
#include "util/com/com_pointer.h" #include "../util/com/com_pointer.h"
#include "util/log/log.h" #include "../util/log/log.h"
#include "util/log/log_debug.h" #include "../util/log/log_debug.h"
#include "util/rc/util_rc.h" #include "../util/rc/util_rc.h"
#include "util/rc/util_rc_ptr.h" #include "../util/rc/util_rc_ptr.h"
#include "util/util_bit.h" #include "../util/util_bit.h"
#include "util/util_enum.h" #include "../util/util_enum.h"
#include "util/util_error.h" #include "../util/util_error.h"
#include "util/util_string.h" #include "../util/util_string.h"