get rid of cmake fetch

This commit is contained in:
PancakeTAS 2025-07-13 17:33:11 +02:00
parent b5678a9ce5
commit 26ba56d9d0
No known key found for this signature in database
10 changed files with 16 additions and 75 deletions

View file

@ -22,6 +22,8 @@ jobs:
spirv-headers vulkan-headers vulkan-icd-loader
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Configure with CMake and Ninja
run: |
cmake -B build -G Ninja \

6
.gitmodules vendored Normal file
View file

@ -0,0 +1,6 @@
[submodule "dxbc"]
path = dxbc
url = https://github.com/PancakeTAS/dxbc.git
[submodule "pe-parse"]
path = pe-parse
url = https://github.com/trailofbits/pe-parse

View file

@ -10,10 +10,12 @@ if(CMAKE_BUILD_TYPE STREQUAL "Release")
endif()
# subprojects
add_compile_options(-fPIC
-Wno-deprecated-declarations
-Wno-unused-template)
include(cmake/FetchDXBC.cmake)
include(cmake/FetchPeParse.cmake)
add_subdirectory(dxbc)
add_subdirectory(pe-parse/pe-parser-library)
add_subdirectory(lsfg-vk-common)
add_subdirectory(lsfg-vk-v3.1)
add_subdirectory(lsfg-vk-v3.1p)
@ -41,7 +43,7 @@ target_include_directories(lsfg-vk
PRIVATE include)
target_link_libraries(lsfg-vk PRIVATE
lsfg-vk-common lsfg-vk-v3.1 lsfg-vk-v3.1p
peparse dxvk_dxbc vulkan)
pe-parse dxbc vulkan)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set_target_properties(lsfg-vk PROPERTIES

View file

@ -1,33 +0,0 @@
include(ExternalProject)
ExternalProject_Add(dxbc_git
GIT_REPOSITORY "https://github.com/PancakeTAS/dxbc"
GIT_TAG "d77124f"
UPDATE_DISCONNECTED true
USES_TERMINAL_CONFIGURE true
USES_TERMINAL_BUILD true
BUILD_IN_SOURCE true
CONFIGURE_COMMAND
cmake -S . -B build -G Ninja
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_C_FLAGS=-fPIC
-DCMAKE_CXX_FLAGS=-fPIC
BUILD_COMMAND
ninja -C build
INSTALL_COMMAND ""
)
ExternalProject_Get_Property(dxbc_git SOURCE_DIR)
add_library(dxvk_dxbc INTERFACE)
add_dependencies(dxvk_dxbc dxbc_git)
target_link_directories(dxvk_dxbc
INTERFACE ${SOURCE_DIR}/build)
target_include_directories(dxvk_dxbc SYSTEM
INTERFACE ${SOURCE_DIR}/include/dxbc
INTERFACE ${SOURCE_DIR}/include/spirv ${SOURCE_DIR}/include/util ${SOURCE_DIR}/include/dxvk)
target_link_libraries(dxvk_dxbc
INTERFACE dxbc)

View file

@ -1,32 +0,0 @@
include(ExternalProject)
ExternalProject_Add(peparse_git
GIT_REPOSITORY "https://github.com/trailofbits/pe-parse"
GIT_TAG "v2.1.1"
UPDATE_DISCONNECTED true
USES_TERMINAL_CONFIGURE true
USES_TERMINAL_BUILD true
BUILD_IN_SOURCE true
CONFIGURE_COMMAND
cmake -S pe-parser-library -B build -G Ninja
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++
-DCMAKE_C_FLAGS=-fPIC
-DCMAKE_CXX_FLAGS=-fPIC
BUILD_COMMAND
ninja -C build
INSTALL_COMMAND ""
)
ExternalProject_Get_Property(peparse_git SOURCE_DIR)
add_library(peparse INTERFACE)
add_dependencies(peparse peparse_git)
target_link_directories(peparse
INTERFACE ${SOURCE_DIR}/build)
target_include_directories(peparse SYSTEM
INTERFACE ${SOURCE_DIR}/pe-parser-library/include)
target_link_libraries(peparse
INTERFACE pe-parse)

1
dxbc Submodule

@ -0,0 +1 @@
Subproject commit 04ca5e9ae5fef6c0c65ea72bbaa7375327f11454

View file

@ -21,8 +21,6 @@ target_include_directories(lsfg-vk-common
PUBLIC include)
target_link_libraries(lsfg-vk-common
PRIVATE vulkan)
target_compile_options(lsfg-vk-common PRIVATE
-fPIC)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set_target_properties(lsfg-vk-common PROPERTIES

View file

@ -24,8 +24,6 @@ target_include_directories(lsfg-vk-v3.1
PUBLIC public)
target_link_libraries(lsfg-vk-v3.1
PUBLIC lsfg-vk-common vulkan)
target_compile_options(lsfg-vk-v3.1 PRIVATE
-fPIC)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set_target_properties(lsfg-vk-v3.1 PROPERTIES

View file

@ -24,8 +24,6 @@ target_include_directories(lsfg-vk-v3.1p
PUBLIC public)
target_link_libraries(lsfg-vk-v3.1p
PUBLIC lsfg-vk-common vulkan)
target_compile_options(lsfg-vk-v3.1p PRIVATE
-fPIC)
if(CMAKE_BUILD_TYPE STREQUAL "Release")
set_target_properties(lsfg-vk-v3.1p PROPERTIES

1
pe-parse Submodule

@ -0,0 +1 @@
Subproject commit 7888f1f8de2f6bc302c291a5b4519fad926c0133