Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 50 additions & 122 deletions .github/workflows/main.yml

Large diffs are not rendered by default.

7 changes: 1 addition & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,14 @@ ecm_setup_version(${PROJECT_VERSION}
)

find_package(Qt6 ${QT_MIN_VERSION} COMPONENTS Core Widgets Concurrent Sql Network CONFIG REQUIRED)
find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Config XmlGui Archive I18n)
find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS CoreAddons Config XmlGui Archive I18n BreezeIcons)
find_package(KF6SyntaxHighlighting ${KF_MIN_VERSION})
find_package(Vulkan REQUIRED)
find_package(glm REQUIRED)
if (NOT TARGET glm::glm)
add_library(glm::glm ALIAS glm)
endif ()

# TODO: we should really do this on all platforms anyway
if (WIN32)
find_package(KF6BreezeIcons REQUIRED)
endif ()

add_subdirectory(extern)
add_subdirectory(renderer)
add_subdirectory(parts)
Expand Down
10 changes: 5 additions & 5 deletions apps/enemyeditor/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ add_executable(novus-enemyeditor)
set_common_properties(novus-enemyeditor)
target_sources(novus-enemyeditor
PRIVATE
include/mainwindow.h
include/enemymodel.h
include/enemyinfowindow.h
include/enemymodel.h
include/mainwindow.h

src/main.cpp
src/mainwindow.cpp
src/enemyinfowindow.cpp
src/enemymodel.cpp
src/enemyinfowindow.cpp)
src/main.cpp
src/mainwindow.cpp)
target_include_directories(novus-enemyeditor
PUBLIC
include)
Expand Down
8 changes: 4 additions & 4 deletions apps/patchdiff/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ set_common_properties(novus-patchdiff)
target_sources(novus-patchdiff
PRIVATE
include/mainwindow.h
include/difftreemodel.h
include/difftreewidget.h
include/difftreemodel.h

src/main.cpp
src/mainwindow.cpp
src/difftreemodel.cpp
src/difftreewidget.cpp)
src/difftreewidget.cpp
src/main.cpp
src/mainwindow.cpp)
target_include_directories(novus-patchdiff
PUBLIC
include)
Expand Down
13 changes: 9 additions & 4 deletions apps/sagasu/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,16 @@ add_executable(novus-sagasu)
set_common_properties(novus-sagasu)
target_sources(novus-sagasu
PRIVATE
src/main.cpp
src/mainwindow.cpp
src/filetreewindow.cpp
include/filepropertieswindow.h
include/filetreemodel.h
include/filetreewindow.h
include/mainwindow.h

src/filepropertieswindow.cpp
src/filetreemodel.cpp)
src/filetreemodel.cpp
src/filetreewindow.cpp
src/main.cpp
src/mainwindow.cpp)
if (TARGET KF6::SyntaxHighlighting)
target_link_libraries(novus-sagasu
PUBLIC
Expand Down
30 changes: 15 additions & 15 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,35 +35,35 @@ set_common_properties(novus-common)
target_sources(novus-common
PRIVATE
include/aboutdata.h
include/booledit.h
include/editwidget.h
include/enumedit.h
include/filecache.h
include/filetypes.h
include/hashdatabase.h
include/knownvalues.h
include/openinwidget.h
include/pathedit.h
include/quaternionedit.h
include/settings.h
include/vec3edit.h
include/pathedit.h
include/enumedit.h
include/editwidget.h
include/uintedit.h
include/booledit.h
include/openinwidget.h
include/utility.h
include/hashdatabase.h
include/knownvalues.h
include/vec3edit.h

src/aboutdata.cpp
src/booledit.cpp
src/editwidget.cpp
src/enumedit.cpp
src/filecache.cpp
src/filetypes.cpp
src/hashdatabase.cpp
src/openinwidget.cpp
src/pathedit.cpp
src/quaternionedit.cpp
src/settings.cpp
src/vec3edit.cpp
src/pathedit.cpp
src/enumedit.cpp
src/editwidget.cpp
src/uintedit.cpp
src/booledit.cpp
src/openinwidget.cpp
src/utility.cpp
src/hashdatabase.cpp
src/vec3edit.cpp

launcherconfig.h)
target_include_directories(novus-common
Expand Down
16 changes: 10 additions & 6 deletions extern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,16 @@ if (ENABLE_SANITIZERS)
set(Rust_TOOLCHAIN "nightly")
endif()

FetchContent_Declare(
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.5.2
)
FetchContent_MakeAvailable(Corrosion)

find_package(Corrosion QUIET)
if (NOT Corrosion_FOUND)
FetchContent_Declare(
Corrosion
GIT_REPOSITORY https://github.com/corrosion-rs/corrosion.git
GIT_TAG v0.6.1
)
FetchContent_MakeAvailable(Corrosion)
endif()

corrosion_import_crate(MANIFEST_PATH ${CMAKE_CURRENT_SOURCE_DIR}/libphysis/Cargo.toml)
target_include_directories(physis INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/libphysis/target/public)
Expand Down
2 changes: 1 addition & 1 deletion parts/dic/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

add_library(dicpart STATIC)
set_common_properties(dicpart)
target_sources(dicpart PRIVATE dicpart.cpp)
target_sources(dicpart PRIVATE dicpart.cpp dicpart.h)
target_link_libraries(dicpart
PUBLIC
KF6::I18n
Expand Down
2 changes: 1 addition & 1 deletion parts/luab/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

add_library(luabpart STATIC)
set_common_properties(luabpart)
target_sources(luabpart PRIVATE luabpart.cpp scriptprocessor.cpp)
target_sources(luabpart PRIVATE luabpart.cpp luabpart.h scriptprocessor.cpp scriptprocessor.h)
target_link_libraries(luabpart
PUBLIC
KF6::I18n
Expand Down
32 changes: 16 additions & 16 deletions parts/scene/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,31 @@ add_library(scenepart STATIC)
set_common_properties(scenepart)
target_sources(scenepart
PRIVATE
scenelistwidget.h
scenelistmodel.h
scenestate.h
scenepart.h
objectpropertieswidget.h
animation.h
collapsesection.h
exceledit.h
mapview.h
objectidedit.h
objectpass.h
objectpropertieswidget.h
primitives.h
animation.h
objectidedit.h
exceledit.h
scenelistmodel.h
scenelistwidget.h
scenepart.h
scenestate.h

scenelistwidget.cpp
scenelistmodel.cpp
scenestate.cpp
scenepart.cpp
objectpropertieswidget.cpp
animation.cpp
collapsesection.cpp
exceledit.cpp
mapview.cpp
objectidedit.cpp
objectpass.cpp
objectpropertieswidget.cpp
primitives.cpp
animation.cpp
objectidedit.cpp
exceledit.cpp)
scenelistmodel.cpp
scenelistwidget.cpp
scenepart.cpp
scenestate.cpp)
target_link_libraries(scenepart
PUBLIC
Novus::Renderer
Expand Down
4 changes: 2 additions & 2 deletions parts/shcd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ find_package(SPIRV-Headers REQUIRED)

add_library(shcdpart STATIC)
set_common_properties(shcdpart)
target_sources(shcdpart PRIVATE shcdpart.cpp)
target_sources(shcdpart PRIVATE shcdpart.cpp shcdpart.h)
target_link_libraries(shcdpart
PUBLIC
Novus::Common
Expand All @@ -24,7 +24,7 @@ if (TARGET KF6::SyntaxHighlighting)
target_compile_definitions(shcdpart PUBLIC HAVE_SYNTAX_HIGHLIGHTING)
endif()
target_include_directories(shcdpart PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_options(shcdpart PRIVATE -fexceptions)
target_compile_options(shcdpart PRIVATE -fexceptions) # Needed for SPIRV-Cross
target_compile_definitions(shcdpart PRIVATE TRANSLATION_DOMAIN="novus")

add_library(Novus::ShcdPart ALIAS shcdpart)
4 changes: 2 additions & 2 deletions parts/shpk/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ find_package(SPIRV-Headers REQUIRED)

add_library(shpkpart STATIC)
set_common_properties(shpkpart)
target_sources(shpkpart PRIVATE shpkpart.cpp)
target_sources(shpkpart PRIVATE shpkpart.cpp shpkpart.h)
target_link_libraries(shpkpart
PUBLIC
Novus::Common
Expand All @@ -24,7 +24,7 @@ if (TARGET KF6::SyntaxHighlighting)
target_compile_definitions(shpkpart PUBLIC HAVE_SYNTAX_HIGHLIGHTING)
endif()
target_include_directories(shpkpart PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_options(shpkpart PRIVATE -fexceptions)
target_compile_options(shpkpart PRIVATE -fexceptions) # Needed for SPIRV-Cross
target_compile_definitions(shpkpart PRIVATE TRANSLATION_DOMAIN="novus")

add_library(Novus::ShpkPart ALIAS shpkpart)
2 changes: 1 addition & 1 deletion parts/tmb/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

add_library(tmbpart STATIC)
set_common_properties(tmbpart)
target_sources(tmbpart PRIVATE tmbpart.cpp)
target_sources(tmbpart PRIVATE tmbpart.cpp tmbpart.h)
target_link_libraries(tmbpart
PUBLIC
KF6::I18n
Expand Down
12 changes: 6 additions & 6 deletions renderer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@
find_package(spirv_cross_core REQUIRED)
find_package(spirv_cross_glsl REQUIRED)
find_package(SPIRV-Headers REQUIRED)
find_package(glslang) # for additional debug information in the GLSL
find_package(glslang) # For additional debug information in the GLSL (currently optional for the Windows CI build)

add_library(renderer STATIC)
set_target_properties(renderer
PROPERTIES
EXCLUDE_FROM_SANITIZERS ON)
EXCLUDE_FROM_SANITIZERS ON) # Excluded from sanitizers because of glslang...
set_common_properties(renderer)
target_sources(renderer
PRIVATE
Expand All @@ -19,24 +19,24 @@ target_sources(renderer
include/device.h
include/drawobject.h
include/gamerenderer.h
include/pass.h
include/rendermanager.h
include/scene.h
include/shadermanager.h
include/shaderstructs.h
include/simplerenderer.h
include/swapchain.h
include/texture.h
include/pass.h

src/device.cpp
src/gamerenderer.cpp
src/imguipass.cpp
src/imguipass.h
src/rendermanager.cpp
src/scene.cpp
src/shadermanager.cpp
src/simplerenderer.cpp
src/swapchain.cpp
src/scene.cpp)
src/swapchain.cpp)
qt_add_resources(renderer
"shaders"
PREFIX "/"
Expand Down Expand Up @@ -65,7 +65,7 @@ target_link_libraries(renderer
spirv-cross-glsl
Novus::Common)
target_compile_definitions(renderer PUBLIC GLM_FORCE_RADIANS GLM_FORCE_DEPTH_ZERO_TO_ONE GLM_ENABLE_EXPERIMENTAL)
target_compile_options(renderer PUBLIC -fexceptions) # needed for spirv-cross and dxbc
target_compile_options(renderer PUBLIC -fexceptions) # Exceptions are needed for SPIRV-Cross and DXBC

if (glslang_FOUND)
target_link_libraries(renderer
Expand Down
10 changes: 5 additions & 5 deletions zone.xiv.novus.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ modules:
sources:
- type: git
url: https://github.com/g-truc/glm.git
tag: 1.0.2
tag: 1.0.3
- name: json
buildsystem: cmake-ninja
config-opts:
Expand All @@ -60,15 +60,15 @@ modules:
sources:
- type: git
url: https://github.com/KhronosGroup/SPIRV-Headers.git
tag: vulkan-sdk-1.4.328.1
tag: vulkan-sdk-1.4.350.0
- name: spirv-cross
buildsystem: cmake-ninja
cleanup:
- /bin
sources:
- type: git
url: https://github.com/KhronosGroup/SPIRV-Cross.git
tag: vulkan-sdk-1.4.328.1
tag: vulkan-sdk-1.4.350.0
- name: glslang
buildsystem: cmake-ninja
config-opts:
Expand All @@ -80,7 +80,7 @@ modules:
sources:
- type: git
url: https://github.com/KhronosGroup/glslang.git
tag: 16.0.0
tag: 16.3.0
- name: corrosion
buildsystem: cmake-ninja
config-opts:
Expand All @@ -93,7 +93,7 @@ modules:
sources:
- type: git
url: https://github.com/AndrewGaspar/corrosion.git
tag: v0.5.2
tag: v0.6.1
- name: novus
buildsystem: cmake-ninja
config-opts:
Expand Down
Loading