mirror of
				https://github.com/PancakeTAS/lsfg-vk.git
				synced 2025-10-30 07:01:10 +00:00 
			
		
		
		
	feat(test): create file structure for tests
This commit is contained in:
		
							parent
							
								
									2f488a42ef
								
							
						
					
					
						commit
						219083dcd5
					
				
					 3 changed files with 69 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -1,8 +1,11 @@
 | 
			
		|||
cmake_minimum_required(VERSION 3.10)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_SKIP_RPATH ON)
 | 
			
		||||
set(CMAKE_C_VISIBILITY_PRESET "hidden")
 | 
			
		||||
set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
 | 
			
		||||
 | 
			
		||||
if(NOT LSFGVK_EXCESS_DEBUG)
 | 
			
		||||
    set(CMAKE_C_VISIBILITY_PRESET "hidden")
 | 
			
		||||
    set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# subprojects
 | 
			
		||||
add_compile_options(-fPIC
 | 
			
		||||
| 
						 | 
				
			
			@ -15,6 +18,10 @@ add_subdirectory(thirdparty/toml11 EXCLUDE_FROM_ALL)
 | 
			
		|||
add_subdirectory(thirdparty/volk EXCLUDE_FROM_ALL)
 | 
			
		||||
add_subdirectory(framegen)
 | 
			
		||||
 | 
			
		||||
if(LSFGVK_EXCESS_DEBUG)
 | 
			
		||||
    add_subdirectory(test)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# main project
 | 
			
		||||
project(lsfg-vk
 | 
			
		||||
    VERSION 1.0.0
 | 
			
		||||
| 
						 | 
				
			
			@ -36,8 +43,8 @@ set_target_properties(lsfg-vk PROPERTIES
 | 
			
		|||
    CXX_STANDARD 20
 | 
			
		||||
    CXX_STANDARD_REQUIRED ON)
 | 
			
		||||
target_include_directories(lsfg-vk
 | 
			
		||||
    PRIVATE include)
 | 
			
		||||
target_link_libraries(lsfg-vk PRIVATE
 | 
			
		||||
    PUBLIC include)
 | 
			
		||||
target_link_libraries(lsfg-vk PUBLIC
 | 
			
		||||
    pe-parse dxbc toml11
 | 
			
		||||
    lsfg-vk-framegen)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,9 @@
 | 
			
		|||
cmake_minimum_required(VERSION 3.10)
 | 
			
		||||
 | 
			
		||||
set(CMAKE_C_VISIBILITY_PRESET "hidden")
 | 
			
		||||
set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
 | 
			
		||||
if(NOT LSFGVK_EXCESS_DEBUG)
 | 
			
		||||
    set(CMAKE_C_VISIBILITY_PRESET "hidden")
 | 
			
		||||
    set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
project(lsfg-vk-framegen
 | 
			
		||||
    DESCRIPTION "Lossless Scaling Frame Generation Backend"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										54
									
								
								test/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								test/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
cmake_minimum_required(VERSION 3.10)
 | 
			
		||||
 | 
			
		||||
if(NOT LSFGVK_EXCESS_DEBUG)
 | 
			
		||||
    set(CMAKE_C_VISIBILITY_PRESET "hidden")
 | 
			
		||||
    set(CMAKE_CXX_VISIBILITY_PRESET "hidden")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
project(lsfg-vk-test
 | 
			
		||||
    DESCRIPTION "Test: lsfg-vk"
 | 
			
		||||
    LANGUAGES CXX)
 | 
			
		||||
 | 
			
		||||
file(GLOB SOURCES
 | 
			
		||||
    "src/*.cpp"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
add_executable(lsfg-vk-test ${SOURCES})
 | 
			
		||||
 | 
			
		||||
# target
 | 
			
		||||
set_target_properties(lsfg-vk-test PROPERTIES
 | 
			
		||||
    CXX_STANDARD 20
 | 
			
		||||
    CXX_STANDARD_REQUIRED ON)
 | 
			
		||||
target_include_directories(lsfg-vk-test
 | 
			
		||||
    PRIVATE include)
 | 
			
		||||
target_link_libraries(lsfg-vk-test PUBLIC
 | 
			
		||||
    vulkan lsfg-vk)
 | 
			
		||||
 | 
			
		||||
# diagnostics
 | 
			
		||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
 | 
			
		||||
    set_target_properties(lsfg-vk-test PROPERTIES
 | 
			
		||||
        EXPORT_COMPILE_COMMANDS ON)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
if(LSFGVK_EXCESS_DEBUG)
 | 
			
		||||
    target_compile_options(lsfg-vk-test PRIVATE
 | 
			
		||||
        -Weverything
 | 
			
		||||
        # disable compat c++ flags
 | 
			
		||||
        -Wno-pre-c++20-compat-pedantic
 | 
			
		||||
        -Wno-pre-c++17-compat
 | 
			
		||||
        -Wno-c++98-compat-pedantic
 | 
			
		||||
        -Wno-c++98-compat
 | 
			
		||||
        # disable other flags
 | 
			
		||||
        -Wno-missing-designated-field-initializers
 | 
			
		||||
        -Wno-shadow         # allow shadowing
 | 
			
		||||
        -Wno-switch-enum    # ignore missing cases
 | 
			
		||||
        -Wno-switch-default # ignore missing default
 | 
			
		||||
        -Wno-padded         # ignore automatic padding
 | 
			
		||||
        -Wno-exit-time-destructors # allow globals
 | 
			
		||||
        -Wno-global-constructors   # allow globals
 | 
			
		||||
        -Wno-cast-function-type-strict # for vulkan
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    set_target_properties(lsfg-vk-test PROPERTIES
 | 
			
		||||
        CXX_CLANG_TIDY clang-tidy)
 | 
			
		||||
endif()
 | 
			
		||||
		Loading…
	
	Add table
		
		Reference in a new issue