Skip to content

Commit

Permalink
Source NVApi from Github (#311)
Browse files Browse the repository at this point in the history
* Source NVApi from Github

* Formatting

* Pin branch to main

* Fix cmake errors

* Ensure apt updated

* Update gcc version to 14

* Regress to gcc-12

* Nvapi path fix

* Update code coverage action runner

* Source NVapi from NVidia open source download
  • Loading branch information
Twon authored May 30, 2024
1 parent caccc1a commit 006ead0
Show file tree
Hide file tree
Showing 18 changed files with 38 additions and 28,533 deletions.
3 changes: 2 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@ file(STRINGS "version.txt" MORPHEUS_VERSION)
project(Morpheus
VERSION ${MORPHEUS_VERSION}
DESCRIPTION "A high performance focused game engine using object oriented techniques based in the latest C++"
LANGUAGES CXX
LANGUAGES C CXX
)

set(CMAKE_POLICY_DEFAULT_CMP0076 NEW)
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
cmake_policy(SET CMP0076 NEW)
cmake_policy(SET CMP0077 NEW)
cmake_policy(SET CMP0127 NEW)
cmake_policy(SET CMP0135 NEW)
cmake_policy(SET CMP0140 NEW)


Expand Down
1 change: 0 additions & 1 deletion libraries/gfx/nvidia/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ target_include_directories(MorpheusGfxNVidia
target_link_libraries(MorpheusGfxNVidia
PUBLIC
morpheus::gfx::platform
NVidia::NvapiHeaders
)

set_target_properties(MorpheusGfxNVidia
Expand Down
7 changes: 3 additions & 4 deletions libraries/gfx/nvidia/src/morpheus/gfx/nvidia/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ target_sources(MorpheusGfxNVidia
)

target_link_libraries(MorpheusGfxNVidia
PUBLIC
Boost::filesystem
PRIVATE
NVidia::NvapiHeaders
PUBLIC
Boost::filesystem
NVidia::Nvapi
)
8 changes: 4 additions & 4 deletions libraries/gfx/nvidia/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ morpheus_add_tests(
LABELS GPU
)
target_sources(MorpheusGfxNVidiaTests
PRIVATE
driver.tests.cpp
PRIVATE
driver.tests.cpp
)
target_link_libraries(MorpheusGfxNVidiaTests
PRIVATE
MorpheusGfxNVidia
PRIVATE
MorpheusGfxNVidia
)
51 changes: 29 additions & 22 deletions libraries/gfx/nvidia/thirdparty/nvapi/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,37 +1,44 @@
add_library(NvapiHeaders STATIC)
add_library(NVidia::NvapiHeaders ALIAS NvapiHeaders)
target_include_directories(NvapiHeaders
include(FetchContent)
FetchContent_Declare(
nvapi
URL https://download.nvidia.com/XFree86/nvapi-open-source-sdk/R550-OpenSource.tar
)
FetchContent_MakeAvailable(nvapi)

add_library(Nvapi STATIC)
add_library(NVidia::Nvapi ALIAS Nvapi)
target_include_directories(Nvapi
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
${nvapi_SOURCE_DIR}/R550-OpenSource
$<BUILD_INTERFACE:${nvapi_SOURCE_DIR}/R550-OpenSource>
)

target_sources(NvapiHeaders
PUBLIC
nvapi.h
nvapi_lite_common.h
nvapi_lite_d3dext.h
nvapi_lite_salend.h
nvapi_lite_salstart.h
nvapi_lite_sli.h
nvapi_lite_stereo.h
nvapi_lite_surround.h
NvApiDriverSettings.h
nvHLSLExtns.h
nvHLSLExtnsInternal.h
nvShaderExtnEnums.h
PRIVATE
NvApiDriverSettings.cpp
target_compile_options(Nvapi
PRIVATE
/wd4838
/FIstddef.h
/FI${nvapi_SOURCE_DIR}/R550-OpenSource/nvapi.h

)
target_sources(Nvapi
PUBLIC
${nvapi_SOURCE_DIR}/R550-OpenSource/nvapi.h
${nvapi_SOURCE_DIR}/R550-OpenSource/nvapi_interface.h
${nvapi_SOURCE_DIR}/R550-OpenSource/NvApiDriverSettings.h
PRIVATE
${nvapi_SOURCE_DIR}/R550-OpenSource/NvApiDriverSettings.c
)
set_source_files_properties(${nvapi_SOURCE_DIR}/R550-OpenSource/NvApiDriverSettings.c PROPERTIES LANGUAGE CXX)

set_target_properties(NvapiHeaders
set_target_properties(Nvapi
PROPERTIES
FOLDER "Thirdparty"
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
)

install(TARGETS NvapiHeaders
install(TARGETS Nvapi
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
Expand Down
Loading

0 comments on commit 006ead0

Please sign in to comment.