From e378aa17378bfc4ef1ea18877e4d458e84043157 Mon Sep 17 00:00:00 2001 From: Antony Peacock Date: Mon, 1 Jul 2024 12:49:54 +0100 Subject: [PATCH] Cmake install step (#308) * Extend targets to support file sets * Move core library to header file sets * Move application library to header file sets * Move gfx platform library to header file sets * Move gfx api libraries to header file sets * Add local install folder to ignored folders * Remove unused files and make cpu visible * Ensure cmake helpers support interface targets fully * Defer executable creation to standardised target * Ensure morpheus config is exported * Specify the package info for Conan * Ensure install is relocatable * Correct export sources and remove cmake install files * Package metal and direct x targets for Conan * Update newly added files * Clear up * Ensure exported interface target * Further libraries requiring exporting * Clean up old target * Seperate build and install interface for gfx dependne ies --- .gitignore | 1 + cmake/compiler.cmake | 12 ++-- cmake/coverage.cmake | 8 ++- cmake/morpheus_add_executable.cmake | 26 ++----- cmake/morpheus_add_library.cmake | 16 ++++- cmake/morpheus_add_target.cmake | 30 ++++++-- conanfile.py | 72 ++++++++++++++----- libraries/application/src/CMakeLists.txt | 9 +-- .../src/morpheus/application/CMakeLists.txt | 8 ++- .../morpheus/application/po/CMakeLists.txt | 6 +- .../application/po/adapters/CMakeLists.txt | 4 +- .../po/adapters/boost/CMakeLists.txt | 6 +- .../po/adapters/std/CMakeLists.txt | 8 ++- libraries/core/src/CMakeLists.txt | 12 +--- .../core/src/morpheus/core/CMakeLists.txt | 8 +-- .../src/morpheus/core/base/CMakeLists.txt | 26 +++---- .../morpheus/core/concurrency/CMakeLists.txt | 4 +- .../morpheus/core/conformance/CMakeLists.txt | 26 +++---- .../core/containers/concepts/CMakeLists.txt | 16 +++-- .../containers/concepts/detail/CMakeLists.txt | 4 +- .../morpheus/core/conversion/CMakeLists.txt | 4 +- .../core/conversion/adapters/CMakeLists.txt | 4 +- .../conversion/adapters/std/CMakeLists.txt | 12 ++-- .../morpheus/core/functional/CMakeLists.txt | 6 +- .../core/functional/concepts/CMakeLists.txt | 6 +- .../core/src/morpheus/core/game/game.cpp | 14 ---- .../core/src/morpheus/core/game/game.hpp | 20 ------ .../src/morpheus/core/memory/CMakeLists.txt | 10 +-- .../core/memory/concepts/CMakeLists.txt | 10 +-- .../src/morpheus/core/meta/CMakeLists.txt | 14 ++-- .../core/meta/concepts/CMakeLists.txt | 22 +++--- .../morpheus/core/meta/detail/CMakeLists.txt | 6 +- .../src/morpheus/core/network/CMakeLists.txt | 4 +- .../core/serialisation/CMakeLists.txt | 28 ++++---- .../serialisation/adapters/CMakeLists.txt | 4 +- .../serialisation/adapters/std/CMakeLists.txt | 36 +++++----- .../serialisation/concepts/CMakeLists.txt | 18 ++--- .../src/morpheus/core/world/world_model.cpp | 14 ---- .../src/morpheus/core/world/world_model.hpp | 19 ----- .../src/morpheus/gfx/d3d12/CMakeLists.txt | 15 ++-- .../gl4/src/morpheus/gfx/gl4/CMakeLists.txt | 8 ++- .../src/morpheus/gfx/gl4/wgl/CMakeLists.txt | 12 ++-- .../src/morpheus/gfx/gl4/xgl/CMakeLists.txt | 4 +- .../src/morpheus/gfx/intel/CMakeLists.txt | 4 +- .../gfx/intel/thirdparty/igcl/CMakeLists.txt | 26 +++---- .../src/morpheus/gfx/metal/CMakeLists.txt | 8 ++- .../src/morpheus/gfx/nvidia/CMakeLists.txt | 7 +- .../nvidia/thirdparty/nvapi/CMakeLists.txt | 18 +++-- .../src/morpheus/gfx/platform/CMakeLists.txt | 18 ++--- .../gfx/platform/concepts/CMakeLists.txt | 12 ++-- .../gfx/platform/win32/CMakeLists.txt | 4 +- .../morpheus/gfx/platform/x11/CMakeLists.txt | 4 +- .../src/morpheus/gfx/vulkan/CMakeLists.txt | 12 ++-- 53 files changed, 375 insertions(+), 330 deletions(-) delete mode 100644 libraries/core/src/morpheus/core/game/game.cpp delete mode 100644 libraries/core/src/morpheus/core/game/game.hpp delete mode 100644 libraries/core/src/morpheus/core/world/world_model.cpp delete mode 100644 libraries/core/src/morpheus/core/world/world_model.hpp diff --git a/.gitignore b/.gitignore index 1cfcfd43..df36c099 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ .vscode .venv [Bb]uild* +Install* cmake-build-debug env/* [Oo]ut diff --git a/cmake/compiler.cmake b/cmake/compiler.cmake index 8556d81b..9982e202 100644 --- a/cmake/compiler.cmake +++ b/cmake/compiler.cmake @@ -15,14 +15,16 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER I OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ]] +include(morpheus_add_library) include(warnings) -set(CMAKE_CXX_STANDARD 23) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +morpheus_add_library( + NAME MorpheusConfig + ALIAS morpheus::config + FOLDER "Libraries/Core" + INTERFACE +) -add_library(MorpheusConfig INTERFACE) -add_library(morpheus::config ALIAS MorpheusConfig) target_link_libraries(MorpheusConfig INTERFACE $<$:dl> diff --git a/cmake/coverage.cmake b/cmake/coverage.cmake index 6a0052a2..2c7c8dcb 100644 --- a/cmake/coverage.cmake +++ b/cmake/coverage.cmake @@ -132,8 +132,12 @@ function(enable_code_coverage) set(LCOV_HTML_PATH "${COVERAGE_REPORT_DIR}/html") if (NOT TARGET CodeCoverage) - add_library(CodeCoverage INTERFACE) - add_library(coverage::coverage ALIAS CodeCoverage) + + morpheus_add_library( + NAME CodeCoverage + ALIAS coverage::coverage + INTERFACE + ) foreach (FLAGS ${COVERAGE_SUPPORTED_FLAGS}) set(CMAKE_REQUIRED_FLAGS "${FLAGS}") diff --git a/cmake/morpheus_add_executable.cmake b/cmake/morpheus_add_executable.cmake index 98aabf1c..0c06018d 100644 --- a/cmake/morpheus_add_executable.cmake +++ b/cmake/morpheus_add_executable.cmake @@ -54,28 +54,12 @@ function(morpheus_add_executable) if (NOT MORPHEUS_NAME) message(FATAL_ERROR "NAME parameter must be supplied") endif() - add_executable(${MORPHEUS_NAME}) - if (MORPHEUS_ALIAS) - add_executable(${MORPHEUS_ALIAS} ALIAS ${MORPHEUS_NAME}) - endif() - set_target_properties(${MORPHEUS_NAME} - PROPERTIES - ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib - LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin + morpheus_add_target( + TYPE executable + NAME ${MORPHEUS_NAME} + ALIAS ${MORPHEUS_ALIAS} + FOLDER ${MORPHEUS_FOLDER} ) - if (MORPHEUS_FOLDER) - set_target_properties(${MORPHEUS_NAME} - PROPERTIES - FOLDER ${MORPHEUS_FOLDER} - ) - endif() - - install(TARGETS ${MORPHEUS_NAME} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) endfunction() diff --git a/cmake/morpheus_add_library.cmake b/cmake/morpheus_add_library.cmake index 4d840fd9..f63863d9 100644 --- a/cmake/morpheus_add_library.cmake +++ b/cmake/morpheus_add_library.cmake @@ -48,9 +48,13 @@ and allows configuration for common optional settings ``FOLDER`` The ``FOLDER`` option provides a folder location for the target within an IDE. + ``INTERFACE`` + The ``INTERFACE`` option is only applicable for library targets and specifies + the library is an interface library. + #]=======================================================================] function(morpheus_add_library) - set(options) + set(options INTERFACE) set(oneValueArgs NAME ALIAS FOLDER) set(multiValueArgs) cmake_parse_arguments(MORPHEUS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -60,12 +64,22 @@ function(morpheus_add_library) if (NOT MORPHEUS_ALIAS) message(FATAL_ERROR "ALIAS parameter must be supplied") endif() + if(${MORPHEUS_INTERFACE}) + set(isInterface "INTERFACE") + endif() morpheus_add_target( TYPE library NAME ${MORPHEUS_NAME} ALIAS ${MORPHEUS_ALIAS} FOLDER ${MORPHEUS_FOLDER} + ${isInterface} ) + install( + EXPORT morpheus-export-set + NAMESPACE morpheus:: + DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/morpheus" + ) + endfunction() diff --git a/cmake/morpheus_add_target.cmake b/cmake/morpheus_add_target.cmake index d06cd85f..380dcf6c 100644 --- a/cmake/morpheus_add_target.cmake +++ b/cmake/morpheus_add_target.cmake @@ -80,6 +80,9 @@ function(morpheus_add_target) if (NOT MORPHEUS_INTERFACE AND NOT MORPHEUS_TYPE STREQUAL library) message(FATAL_ERROR "INTERFACE parameter can only be used with library targets") endif() + if(${MORPHEUS_INTERFACE}) + set(isInterface "INTERFACE") + endif() if (MORPHEUS_TYPE STREQUAL executable) add_executable(${MORPHEUS_NAME}) @@ -87,18 +90,16 @@ function(morpheus_add_target) add_executable(${MORPHEUS_ALIAS} ALIAS ${MORPHEUS_NAME}) endif() else() - if (NOT MORPHEUS_INFERFACE) - add_library(${MORPHEUS_NAME}) - else() - add_library(${MORPHEUS_NAME} INTERFACE) - endif() + add_library(${MORPHEUS_NAME} ${isInterface}) add_library(${MORPHEUS_ALIAS} ALIAS ${MORPHEUS_NAME}) endif() morpheus_add_target_properties( NAME ${MORPHEUS_NAME} FOLDER ${MORPHEUS_FOLDER} + ${isInterface} ) + endfunction() #[=======================================================================[.rst: @@ -127,13 +128,24 @@ commonly associated attributes. #]=======================================================================] function(morpheus_add_target_properties) - set(options) + set(options INTERFACE) set(oneValueArgs NAME FOLDER) set(multiValueArgs) cmake_parse_arguments(MORPHEUS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(${MORPHEUS_INTERFACE}) + set(scope "INTERFACE") + else() + set(scope "PUBLIC") + endif() + target_compile_features(${MORPHEUS_NAME} ${scope} cxx_std_23) + set_target_properties(${MORPHEUS_NAME} PROPERTIES + CXX_STANDARD 23 + CXX_STANDARD_REQUIRED ON + CXX_EXTENSIONS OFF ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin @@ -146,7 +158,13 @@ function(morpheus_add_target_properties) ) endif() + # Create an empty header set here so that the subsequent install step finds it. + target_sources(${MORPHEUS_NAME} ${scope} FILE_SET HEADERS FILES) + install(TARGETS ${MORPHEUS_NAME} + EXPORT morpheus-export-set + FILE_SET HEADERS + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/conanfile.py b/conanfile.py index a9c99f7a..3fafae0e 100644 --- a/conanfile.py +++ b/conanfile.py @@ -24,8 +24,8 @@ from conan.tools.build import check_min_cppstd from conan.tools.cmake import cmake_layout, CMake, CMakeDeps, CMakeToolchain from conan.tools.env import VirtualBuildEnv -from conan.tools.files import copy -from conan.tools.scm import Version +from conan.tools.files import copy, rm +from conan.tools.scm import Git, Version from conan.tools.files import load from conan.tools.system.package_manager import Apt import re, os.path @@ -76,7 +76,6 @@ class Morpheus(ConanFile): "with_rs_opengl": True, "with_rs_vulkan": True } - exports_sources = ["CMakeLists.txt", "LICENSE", "version.txt", "cmake/*", "examples/*" "libraries/*"] requires = ( "boost/1.85.0", "ctre/3.8.1", @@ -180,10 +179,6 @@ def system_requirements(self): apt = Apt(self) apt.install(["libgl-dev", "libopengl-dev", "libglu1-mesa-dev"], update=True, check=True) -# @property -# def _source_subfolder(self): -# return "source_subfolder" - @property def _minimum_cpp_standard(self): return 20 @@ -234,19 +229,62 @@ def generate(self): def layout(self): cmake_layout(self) + def export_sources(self): + copy(self, "CMakeLists.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "LICENSE", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "version.txt", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "cmake/*", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "examples/*", src=self.recipe_folder, dst=self.export_sources_folder) + copy(self, "libraries/*", src=self.recipe_folder, dst=self.export_sources_folder) + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + def package(self): - copy(self, "*LICENSE*", dst="licenses", keep_path=False) + copy(self, pattern="LICENSE", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses")) cmake = CMake(self) cmake.configure() cmake.install() - -# def package_id(self): -# self.info.header_only() + rm(self, "*export-set*.cmake", os.path.join(self.package_folder, "lib", "cmake", "morpheus")) def package_info(self): - pass - #self.cpp_info.names["cmake_find_package"] = "wg21_linear_algebra" - #self.cpp_info.names["cmake_find_package_multi"] = "wg21_linear_algebra" - #self.cpp_info.components["_wg21_linear_algebra"].names["cmake_find_package"] = "wg21_linear_algebra" - #self.cpp_info.components["_wg21_linear_algebra"].names["cmake_find_package_multi"] = "wg21_linear_algebra" - #self.cpp_info.components["_wg21_linear_algebra"].requires = ["mdspan::mdspan"] + self.cpp_info.components["core"].set_property("cmake_file_name", "MorpheusCore") + self.cpp_info.components["core"].set_property("cmake_target_name", "morpheus::core") + self.cpp_info.components["core"].defines = ["BOOST_USE_WINAPI_VERSION=BOOST_WINAPI_NTDDI_WIN10"] + self.cpp_info.components["core"].requires = ["boost::headers", "boost::log", "ctre::ctre", "magic_enum::magic_enum", "ms-gsl::ms-gsl", "range-v3::range-v3", "rapidjson::rapidjson", "scnlib::scnlib"] + self.cpp_info.components["core"].builddirs.append(os.path.join("lib", "cmake", "morpheus")) + + if self.useDate: + self.cpp_info.components["core"].requires.append("date::date") + self.cpp_info.components["core"].requires.append("date::date-tz") + + if self.useExpected: + self.cpp_info.components["core"].requires.append("tl-expected::expected") + + if self.useFMT: + self.cpp_info.components["core"].requires.append("fmt::fmt") + + if self.options.get_safe("with_rs_direct_x12", False): + self.cpp_info.components["directx12"].set_property("cmake_file_name", "MorpheusGfxDirectX12") + self.cpp_info.components["directx12"].set_property("cmake_target_name", "morpheus::gfx::directx12") + + if self.options.get_safe("with_rs_metal", False): + self.cpp_info.components["metal"].set_property("cmake_file_name", "MorpheusGfxMetal") + self.cpp_info.components["metal"].set_property("cmake_target_name", "morpheus::gfx::metal") + + if self.options.get_safe("with_rs_opengl", False): + self.cpp_info.components["opengl"].set_property("cmake_file_name", "MorpheusGfxVulkan") + self.cpp_info.components["opengl"].set_property("cmake_target_name", "morpheus::gfx::vulkan") + self.cpp_info.components["opengl"].requires.append("glbinding::glbinding") + self.cpp_info.components["opengl"].requires.append("glew::glew") + + if self.options.get_safe("with_rs_vulkan", False): + self.cpp_info.components["vulkan"].set_property("cmake_file_name", "MorpheusGfxVulkan") + self.cpp_info.components["vulkan"].set_property("cmake_target_name", "morpheus::gfx::vulkan") + self.cpp_info.components["vulkan"].requires.append("vulkan-headers::vulkan-headers") + + if (self.settings.os in ["Macos", "iOS", "tvOS"]): + self.cpp_info.components["vulkan"].requires.append("moltenvk::moltenvk") + diff --git a/libraries/application/src/CMakeLists.txt b/libraries/application/src/CMakeLists.txt index 25e61c65..12fee697 100644 --- a/libraries/application/src/CMakeLists.txt +++ b/libraries/application/src/CMakeLists.txt @@ -6,17 +6,10 @@ morpheus_add_library( target_include_directories(MorpheusApplication PUBLIC + $/include> $ - $ ) -#target_include_directories(MorpheusApplication -# PUBLIC -# $ -# $ -# $ -#) - target_link_libraries(MorpheusApplication PUBLIC morpheus::core diff --git a/libraries/application/src/morpheus/application/CMakeLists.txt b/libraries/application/src/morpheus/application/CMakeLists.txt index cc6904de..5e66cb33 100644 --- a/libraries/application/src/morpheus/application/CMakeLists.txt +++ b/libraries/application/src/morpheus/application/CMakeLists.txt @@ -1,8 +1,10 @@ target_sources(MorpheusApplication PUBLIC - application.hpp - try_catch.hpp - version.hpp + FILE_SET HEADERS + FILES + application.hpp + try_catch.hpp + version.hpp PRIVATE application.cpp ) diff --git a/libraries/application/src/morpheus/application/po/CMakeLists.txt b/libraries/application/src/morpheus/application/po/CMakeLists.txt index cdf01c0a..0c67205f 100644 --- a/libraries/application/src/morpheus/application/po/CMakeLists.txt +++ b/libraries/application/src/morpheus/application/po/CMakeLists.txt @@ -1,7 +1,9 @@ target_sources(MorpheusApplication PUBLIC - config.hpp - options.hpp + FILE_SET HEADERS + FILES + config.hpp + options.hpp PRIVATE config.cpp ) diff --git a/libraries/application/src/morpheus/application/po/adapters/CMakeLists.txt b/libraries/application/src/morpheus/application/po/adapters/CMakeLists.txt index 5903008d..2dedb984 100644 --- a/libraries/application/src/morpheus/application/po/adapters/CMakeLists.txt +++ b/libraries/application/src/morpheus/application/po/adapters/CMakeLists.txt @@ -2,5 +2,7 @@ add_subdirectory(std) target_sources(MorpheusApplication PUBLIC - enums.hpp + FILE_SET HEADERS + FILES + enums.hpp ) diff --git a/libraries/application/src/morpheus/application/po/adapters/boost/CMakeLists.txt b/libraries/application/src/morpheus/application/po/adapters/boost/CMakeLists.txt index db92fd08..d9b185ae 100644 --- a/libraries/application/src/morpheus/application/po/adapters/boost/CMakeLists.txt +++ b/libraries/application/src/morpheus/application/po/adapters/boost/CMakeLists.txt @@ -1,5 +1,7 @@ target_sources(MorpheusApplication PUBLIC - asio.hpp - log.hpp + FILE_SET HEADERS + FILES + asio.hpp + log.hpp ) diff --git a/libraries/application/src/morpheus/application/po/adapters/std/CMakeLists.txt b/libraries/application/src/morpheus/application/po/adapters/std/CMakeLists.txt index 5b535e44..1d3fadf0 100644 --- a/libraries/application/src/morpheus/application/po/adapters/std/CMakeLists.txt +++ b/libraries/application/src/morpheus/application/po/adapters/std/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(MorpheusApplication PUBLIC - chrono.hpp - filesystem.hpp - optional.hpp + FILE_SET HEADERS + FILES + chrono.hpp + filesystem.hpp + optional.hpp ) diff --git a/libraries/core/src/CMakeLists.txt b/libraries/core/src/CMakeLists.txt index 2842be58..a61680e7 100644 --- a/libraries/core/src/CMakeLists.txt +++ b/libraries/core/src/CMakeLists.txt @@ -6,7 +6,7 @@ morpheus_add_library( target_include_directories(MorpheusCore PUBLIC - $ + $/include> $ $ ) @@ -47,16 +47,6 @@ install(TARGETS MorpheusCore PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/core ) -# Hierarchically copy headers to the install dir -install ( - DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR}/morpheus/core - DESTINATION - ${CMAKE_INSTALL_INCLUDEDIR}/morpheus/core - FILES_MATCHING PATTERN - "*.hpp" -) - install( FILES ${CMAKE_CURRENT_BINARY_DIR}/morpheus/core/morpheuscore_export.h diff --git a/libraries/core/src/morpheus/core/CMakeLists.txt b/libraries/core/src/morpheus/core/CMakeLists.txt index b231c883..fddd5180 100644 --- a/libraries/core/src/morpheus/core/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/CMakeLists.txt @@ -1,12 +1,10 @@ target_sources(MorpheusCore PUBLIC - cpu.hpp - game/game.hpp - world/world_model.hpp + FILE_SET HEADERS + FILES + cpu.hpp PRIVATE cpu.cpp - game/game.cpp - world/world_model.cpp ) add_subdirectory(base) diff --git a/libraries/core/src/morpheus/core/base/CMakeLists.txt b/libraries/core/src/morpheus/core/base/CMakeLists.txt index bc4e3b38..25867130 100644 --- a/libraries/core/src/morpheus/core/base/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/base/CMakeLists.txt @@ -1,17 +1,19 @@ target_sources(MorpheusCore PUBLIC - architecture.hpp - assert.hpp - assert_handler.hpp - cold.hpp - compiler.hpp - debugging.hpp - exceptions.hpp - platform.hpp - prerequisites.hpp - sanitizers.hpp - scoped_action.hpp - verify.hpp + FILE_SET HEADERS + FILES + architecture.hpp + assert.hpp + assert_handler.hpp + cold.hpp + compiler.hpp + debugging.hpp + exceptions.hpp + platform.hpp + prerequisites.hpp + sanitizers.hpp + scoped_action.hpp + verify.hpp PRIVATE assert_handler.cpp debugging.cpp diff --git a/libraries/core/src/morpheus/core/concurrency/CMakeLists.txt b/libraries/core/src/morpheus/core/concurrency/CMakeLists.txt index 57a5cb3f..c19a9f2d 100644 --- a/libraries/core/src/morpheus/core/concurrency/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/concurrency/CMakeLists.txt @@ -1,4 +1,6 @@ target_sources(MorpheusCore PUBLIC - generator.hpp + FILE_SET HEADERS + FILES + generator.hpp ) diff --git a/libraries/core/src/morpheus/core/conformance/CMakeLists.txt b/libraries/core/src/morpheus/core/conformance/CMakeLists.txt index 04f19370..2837f55c 100644 --- a/libraries/core/src/morpheus/core/conformance/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/conformance/CMakeLists.txt @@ -1,17 +1,19 @@ target_sources(MorpheusCore PUBLIC - bit_cast.hpp - coro.hpp - date.hpp - format.hpp - expected.hpp - print.hpp - ranges.hpp - scan.hpp - source_location.hpp - stacktrace.hpp - unreachable.hpp - version.hpp + FILE_SET HEADERS + FILES + bit_cast.hpp + coro.hpp + date.hpp + format.hpp + expected.hpp + print.hpp + ranges.hpp + scan.hpp + source_location.hpp + stacktrace.hpp + unreachable.hpp + version.hpp ) morpheus_conformance_check( diff --git a/libraries/core/src/morpheus/core/containers/concepts/CMakeLists.txt b/libraries/core/src/morpheus/core/containers/concepts/CMakeLists.txt index 06e8a108..ca32cce8 100644 --- a/libraries/core/src/morpheus/core/containers/concepts/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/containers/concepts/CMakeLists.txt @@ -2,11 +2,13 @@ add_subdirectory(detail) target_sources(MorpheusCore PUBLIC - allocator_aware.hpp - associative.hpp - container.hpp - contiguous.hpp - reversible.hpp - sequence.hpp - unordered.hpp + FILE_SET HEADERS + FILES + allocator_aware.hpp + associative.hpp + container.hpp + contiguous.hpp + reversible.hpp + sequence.hpp + unordered.hpp ) diff --git a/libraries/core/src/morpheus/core/containers/concepts/detail/CMakeLists.txt b/libraries/core/src/morpheus/core/containers/concepts/detail/CMakeLists.txt index 0a2cb302..e4a655e9 100644 --- a/libraries/core/src/morpheus/core/containers/concepts/detail/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/containers/concepts/detail/CMakeLists.txt @@ -1,4 +1,6 @@ target_sources(MorpheusCore PUBLIC - return_types.hpp + FILE_SET HEADERS + FILES + return_types.hpp ) diff --git a/libraries/core/src/morpheus/core/conversion/CMakeLists.txt b/libraries/core/src/morpheus/core/conversion/CMakeLists.txt index fadf53b6..d9cf7747 100644 --- a/libraries/core/src/morpheus/core/conversion/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/conversion/CMakeLists.txt @@ -2,5 +2,7 @@ add_subdirectory(adapters) target_sources(MorpheusCore PUBLIC - string.hpp + FILE_SET HEADERS + FILES + string.hpp ) diff --git a/libraries/core/src/morpheus/core/conversion/adapters/CMakeLists.txt b/libraries/core/src/morpheus/core/conversion/adapters/CMakeLists.txt index d15c9880..e157887a 100644 --- a/libraries/core/src/morpheus/core/conversion/adapters/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/conversion/adapters/CMakeLists.txt @@ -2,5 +2,7 @@ add_subdirectory(std) target_sources(MorpheusCore PUBLIC - enum.hpp + FILE_SET HEADERS + FILES + enum.hpp ) diff --git a/libraries/core/src/morpheus/core/conversion/adapters/std/CMakeLists.txt b/libraries/core/src/morpheus/core/conversion/adapters/std/CMakeLists.txt index 31b7cc25..bb404a76 100644 --- a/libraries/core/src/morpheus/core/conversion/adapters/std/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/conversion/adapters/std/CMakeLists.txt @@ -1,8 +1,10 @@ target_sources(MorpheusCore PUBLIC - chrono.hpp - filesystem.hpp - stacktrace.hpp - source_location.hpp - thread.hpp + FILE_SET HEADERS + FILES + chrono.hpp + filesystem.hpp + stacktrace.hpp + source_location.hpp + thread.hpp ) diff --git a/libraries/core/src/morpheus/core/functional/CMakeLists.txt b/libraries/core/src/morpheus/core/functional/CMakeLists.txt index e97113ec..8a66040d 100644 --- a/libraries/core/src/morpheus/core/functional/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/functional/CMakeLists.txt @@ -2,6 +2,8 @@ add_subdirectory(concepts) target_sources(MorpheusCore PUBLIC - function_ref.hpp - overload.hpp + FILE_SET HEADERS + FILES + function_ref.hpp + overload.hpp ) diff --git a/libraries/core/src/morpheus/core/functional/concepts/CMakeLists.txt b/libraries/core/src/morpheus/core/functional/concepts/CMakeLists.txt index b80bb2ab..49f0f103 100644 --- a/libraries/core/src/morpheus/core/functional/concepts/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/functional/concepts/CMakeLists.txt @@ -1,5 +1,7 @@ target_sources(MorpheusCore PUBLIC - function.hpp - hash.hpp + FILE_SET HEADERS + FILES + function.hpp + hash.hpp ) diff --git a/libraries/core/src/morpheus/core/game/game.cpp b/libraries/core/src/morpheus/core/game/game.cpp deleted file mode 100644 index 7de1ceb5..00000000 --- a/libraries/core/src/morpheus/core/game/game.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include - -namespace morpheus::game -{ - -//--------------------------------------------------------------------------------------------------------------------- - -game::~game() -{ -} - -//--------------------------------------------------------------------------------------------------------------------- - -} // namespace morpheus::game diff --git a/libraries/core/src/morpheus/core/game/game.hpp b/libraries/core/src/morpheus/core/game/game.hpp deleted file mode 100644 index 758a4587..00000000 --- a/libraries/core/src/morpheus/core/game/game.hpp +++ /dev/null @@ -1,20 +0,0 @@ -#pragma once - -#include - -namespace morpheus::game -{ - -/*! \class game - The game is the top level application class from which all applications can be built. - */ -class MORPHEUSCORE_EXPORT game { -public: - virtual ~game(); - - -private: - -}; - -} // namespace morpheus::game diff --git a/libraries/core/src/morpheus/core/memory/CMakeLists.txt b/libraries/core/src/morpheus/core/memory/CMakeLists.txt index 3c04c77f..e3fde8eb 100644 --- a/libraries/core/src/morpheus/core/memory/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/memory/CMakeLists.txt @@ -1,9 +1,11 @@ target_sources(MorpheusCore PUBLIC - copier_traits.hpp - default_copy.hpp - indirect_value.hpp - polymorphic_value.hpp + FILE_SET HEADERS + FILES + copier_traits.hpp + default_copy.hpp + indirect_value.hpp + polymorphic_value.hpp ) add_subdirectory(concepts) diff --git a/libraries/core/src/morpheus/core/memory/concepts/CMakeLists.txt b/libraries/core/src/morpheus/core/memory/concepts/CMakeLists.txt index dccb90a9..d5d04baf 100644 --- a/libraries/core/src/morpheus/core/memory/concepts/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/memory/concepts/CMakeLists.txt @@ -1,7 +1,9 @@ target_sources(MorpheusCore PUBLIC - allocator.hpp - copier.hpp - deleter.hpp - nullable_pointer.hpp + FILE_SET HEADERS + FILES + allocator.hpp + copier.hpp + deleter.hpp + nullable_pointer.hpp ) diff --git a/libraries/core/src/morpheus/core/meta/CMakeLists.txt b/libraries/core/src/morpheus/core/meta/CMakeLists.txt index b3f6b9f2..d63fbf90 100644 --- a/libraries/core/src/morpheus/core/meta/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/meta/CMakeLists.txt @@ -1,11 +1,13 @@ target_sources(MorpheusCore PUBLIC - aggregate.hpp - binary_search.hpp - complete.hpp - is_array.hpp - is_specialisation.hpp - is_string.hpp + FILE_SET HEADERS + FILES + aggregate.hpp + binary_search.hpp + complete.hpp + is_array.hpp + is_specialisation.hpp + is_string.hpp ) add_subdirectory(concepts) diff --git a/libraries/core/src/morpheus/core/meta/concepts/CMakeLists.txt b/libraries/core/src/morpheus/core/meta/concepts/CMakeLists.txt index 274b31c8..8e892317 100644 --- a/libraries/core/src/morpheus/core/meta/concepts/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/meta/concepts/CMakeLists.txt @@ -1,13 +1,15 @@ target_sources(MorpheusCore PUBLIC - aggregate.hpp - aggregate_constructible.hpp - complete.hpp - constructible.hpp - copyable.hpp - enum.hpp - hashable.hpp - satisfies.hpp - string.hpp - trait.hpp + FILE_SET HEADERS + FILES + aggregate.hpp + aggregate_constructible.hpp + complete.hpp + constructible.hpp + copyable.hpp + enum.hpp + hashable.hpp + satisfies.hpp + string.hpp + trait.hpp ) diff --git a/libraries/core/src/morpheus/core/meta/detail/CMakeLists.txt b/libraries/core/src/morpheus/core/meta/detail/CMakeLists.txt index a329135e..99ecea24 100644 --- a/libraries/core/src/morpheus/core/meta/detail/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/meta/detail/CMakeLists.txt @@ -1,5 +1,7 @@ target_sources(MorpheusCore PUBLIC - aggregate.hpp - any.hpp + FILE_SET HEADERS + FILES + aggregate.hpp + any.hpp ) diff --git a/libraries/core/src/morpheus/core/network/CMakeLists.txt b/libraries/core/src/morpheus/core/network/CMakeLists.txt index f40e9f98..00630dae 100644 --- a/libraries/core/src/morpheus/core/network/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/network/CMakeLists.txt @@ -1,4 +1,6 @@ target_sources(MorpheusCore PUBLIC - named_endpoint.hpp + FILE_SET HEADERS + FILES + named_endpoint.hpp ) diff --git a/libraries/core/src/morpheus/core/serialisation/CMakeLists.txt b/libraries/core/src/morpheus/core/serialisation/CMakeLists.txt index 6f8061d3..599a52ea 100644 --- a/libraries/core/src/morpheus/core/serialisation/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/serialisation/CMakeLists.txt @@ -1,18 +1,20 @@ target_sources(MorpheusCore PUBLIC - binary_reader.hpp - binary_writer.hpp - exceptions.hpp - fundamentals.hpp - json_reader.hpp - json_writer.hpp - read_serialiser.hpp - read_serialiser_decl.hpp - serialise.hpp - serialisers.hpp - text_writer.hpp - write_serialiser.hpp - write_serialiser_decl.hpp + FILE_SET HEADERS + FILES + binary_reader.hpp + binary_writer.hpp + exceptions.hpp + fundamentals.hpp + json_reader.hpp + json_writer.hpp + read_serialiser.hpp + read_serialiser_decl.hpp + serialise.hpp + serialisers.hpp + text_writer.hpp + write_serialiser.hpp + write_serialiser_decl.hpp PRIVATE exceptions.cpp json_reader.cpp diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/CMakeLists.txt b/libraries/core/src/morpheus/core/serialisation/adapters/CMakeLists.txt index fe54eceb..440653fb 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/serialisation/adapters/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(MorpheusCore PUBLIC - aggregate.hpp + FILE_SET HEADERS + FILES + aggregate.hpp ) add_subdirectory(std) diff --git a/libraries/core/src/morpheus/core/serialisation/adapters/std/CMakeLists.txt b/libraries/core/src/morpheus/core/serialisation/adapters/std/CMakeLists.txt index bc35eb73..578e14ef 100644 --- a/libraries/core/src/morpheus/core/serialisation/adapters/std/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/serialisation/adapters/std/CMakeLists.txt @@ -1,20 +1,22 @@ target_sources(MorpheusCore PUBLIC - array.hpp - deque.hpp - expected.hpp - forward_list.hpp - list.hpp - map.hpp - monostate.hpp - optional.hpp - pair.hpp - set.hpp - source_location.hpp - tuple.hpp - unique_ptr.hpp - unordered_set.hpp - unordered_map.hpp - variant.hpp - vector.hpp + FILE_SET HEADERS + FILES + array.hpp + deque.hpp + expected.hpp + forward_list.hpp + list.hpp + map.hpp + monostate.hpp + optional.hpp + pair.hpp + set.hpp + source_location.hpp + tuple.hpp + unique_ptr.hpp + unordered_set.hpp + unordered_map.hpp + variant.hpp + vector.hpp ) diff --git a/libraries/core/src/morpheus/core/serialisation/concepts/CMakeLists.txt b/libraries/core/src/morpheus/core/serialisation/concepts/CMakeLists.txt index c9a4fae6..2c96a555 100644 --- a/libraries/core/src/morpheus/core/serialisation/concepts/CMakeLists.txt +++ b/libraries/core/src/morpheus/core/serialisation/concepts/CMakeLists.txt @@ -1,11 +1,13 @@ target_sources(MorpheusCore PUBLIC - read_serialisable.hpp - read_serialiser.hpp - reader.hpp - reader_archetype.hpp - write_serialisable.hpp - write_serialiser.hpp - writer.hpp - writer_archetype.hpp + FILE_SET HEADERS + FILES + read_serialisable.hpp + read_serialiser.hpp + reader.hpp + reader_archetype.hpp + write_serialisable.hpp + write_serialiser.hpp + writer.hpp + writer_archetype.hpp ) diff --git a/libraries/core/src/morpheus/core/world/world_model.cpp b/libraries/core/src/morpheus/core/world/world_model.cpp deleted file mode 100644 index 7b54f921..00000000 --- a/libraries/core/src/morpheus/core/world/world_model.cpp +++ /dev/null @@ -1,14 +0,0 @@ -#include "morpheus/core/world/world_model.hpp" - -namespace morpheus::world -{ - -//--------------------------------------------------------------------------------------------------------------------- - -world_model::~world_model() noexcept -{ -} - -//--------------------------------------------------------------------------------------------------------------------- - -} // namespace morpheus::world diff --git a/libraries/core/src/morpheus/core/world/world_model.hpp b/libraries/core/src/morpheus/core/world/world_model.hpp deleted file mode 100644 index 2db3a143..00000000 --- a/libraries/core/src/morpheus/core/world/world_model.hpp +++ /dev/null @@ -1,19 +0,0 @@ -#pragma once - -#include "morpheus/core/base/platform.hpp" - -namespace morpheus::world -{ - -/*! \class world_model - The world model is the component of the game abstracting the representation of the game - world. - */ -class MORPHEUSCORE_EXPORT world_model { -public: - virtual ~world_model() noexcept; - -private: -}; - -} // namespace morpheus::world diff --git a/libraries/gfx/d3d12/src/morpheus/gfx/d3d12/CMakeLists.txt b/libraries/gfx/d3d12/src/morpheus/gfx/d3d12/CMakeLists.txt index e06691fc..f5ae91c6 100644 --- a/libraries/gfx/d3d12/src/morpheus/gfx/d3d12/CMakeLists.txt +++ b/libraries/gfx/d3d12/src/morpheus/gfx/d3d12/CMakeLists.txt @@ -1,14 +1,15 @@ target_sources(MorpheusGfxD3D12 PUBLIC - adapter.hpp - render_system.hpp - type_mapping.hpp - verify.hpp - video_mode.hpp - video_mode_list.hpp + FILE_SET HEADERS + FILES + adapter.hpp + render_system.hpp + type_mapping.hpp + verify.hpp + video_mode.hpp + video_mode_list.hpp PRIVATE adapter.cpp - type_mapping.cpp video_mode.cpp video_mode_list.cpp diff --git a/libraries/gfx/gl4/src/morpheus/gfx/gl4/CMakeLists.txt b/libraries/gfx/gl4/src/morpheus/gfx/gl4/CMakeLists.txt index 8da7af8a..0aeda5ce 100644 --- a/libraries/gfx/gl4/src/morpheus/gfx/gl4/CMakeLists.txt +++ b/libraries/gfx/gl4/src/morpheus/gfx/gl4/CMakeLists.txt @@ -1,8 +1,10 @@ target_sources(MorpheusGfxGL4 PUBLIC - prerequisites.hpp - render_system.hpp - type_mapping.hpp + FILE_SET HEADERS + FILES + prerequisites.hpp + render_system.hpp + type_mapping.hpp PRIVATE render_system.cpp type_mapping.cpp diff --git a/libraries/gfx/gl4/src/morpheus/gfx/gl4/wgl/CMakeLists.txt b/libraries/gfx/gl4/src/morpheus/gfx/gl4/wgl/CMakeLists.txt index 261ff7e8..76b352ec 100644 --- a/libraries/gfx/gl4/src/morpheus/gfx/gl4/wgl/CMakeLists.txt +++ b/libraries/gfx/gl4/src/morpheus/gfx/gl4/wgl/CMakeLists.txt @@ -1,10 +1,12 @@ target_sources(MorpheusGfxGL4 PUBLIC - adapter.hpp - context.hpp - verify.hpp - video_mode.hpp - window.cpp + FILE_SET HEADERS + FILES + adapter.hpp + context.hpp + verify.hpp + video_mode.hpp + window.cpp PRIVATE adapter.cpp context.cpp diff --git a/libraries/gfx/gl4/src/morpheus/gfx/gl4/xgl/CMakeLists.txt b/libraries/gfx/gl4/src/morpheus/gfx/gl4/xgl/CMakeLists.txt index c87c23ef..6dc88127 100644 --- a/libraries/gfx/gl4/src/morpheus/gfx/gl4/xgl/CMakeLists.txt +++ b/libraries/gfx/gl4/src/morpheus/gfx/gl4/xgl/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(MorpheusGfxGL4 PUBLIC - context.hpp + FILE_SET HEADERS + FILES + context.hpp PRIVATE context.cpp ) diff --git a/libraries/gfx/intel/src/morpheus/gfx/intel/CMakeLists.txt b/libraries/gfx/intel/src/morpheus/gfx/intel/CMakeLists.txt index 8abbf5b3..5dfbe7a5 100644 --- a/libraries/gfx/intel/src/morpheus/gfx/intel/CMakeLists.txt +++ b/libraries/gfx/intel/src/morpheus/gfx/intel/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(MorpheusGfxIntel PUBLIC - adapter.hpp + FILE_SET HEADERS + FILES + adapter.hpp PRIVATE adapter.cpp ) diff --git a/libraries/gfx/intel/thirdparty/igcl/CMakeLists.txt b/libraries/gfx/intel/thirdparty/igcl/CMakeLists.txt index 9a494db2..4726abcd 100644 --- a/libraries/gfx/intel/thirdparty/igcl/CMakeLists.txt +++ b/libraries/gfx/intel/thirdparty/igcl/CMakeLists.txt @@ -4,31 +4,21 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(intelGraphicsControlLibrary) -add_library(GraphicsControlLibrary) -add_library(intel::GraphicsControlLibrary ALIAS GraphicsControlLibrary) +morpheus_add_library( + NAME GraphicsControlLibrary + ALIAS intel::GraphicsControlLibrary +) target_include_directories(GraphicsControlLibrary PUBLIC - ${intelgraphicscontrollibrary_SOURCE_DIR}/include/ + $/include> + $ ) target_sources(GraphicsControlLibrary PUBLIC - ${intelgraphicscontrollibrary_SOURCE_DIR}/include/igcl_api.h + $/include/igcl_api.h> + $ PRIVATE ${intelgraphicscontrollibrary_SOURCE_DIR}/Source/cApiWrapper.cpp ) - -set_target_properties(GraphicsControlLibrary - 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 GraphicsControlLibrary - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -) diff --git a/libraries/gfx/metal/src/morpheus/gfx/metal/CMakeLists.txt b/libraries/gfx/metal/src/morpheus/gfx/metal/CMakeLists.txt index e821e447..164dbf23 100644 --- a/libraries/gfx/metal/src/morpheus/gfx/metal/CMakeLists.txt +++ b/libraries/gfx/metal/src/morpheus/gfx/metal/CMakeLists.txt @@ -1,8 +1,10 @@ target_sources(MorpheusGfxMetal PUBLIC - adapter.hpp - render_system.hpp - video_mode.hpp + FILE_SET HEADERS + FILES + adapter.hpp + render_system.hpp + video_mode.hpp PRIVATE adapter.cpp render_system.mm diff --git a/libraries/gfx/nvidia/src/morpheus/gfx/nvidia/CMakeLists.txt b/libraries/gfx/nvidia/src/morpheus/gfx/nvidia/CMakeLists.txt index 82834ad5..df4fc9b8 100644 --- a/libraries/gfx/nvidia/src/morpheus/gfx/nvidia/CMakeLists.txt +++ b/libraries/gfx/nvidia/src/morpheus/gfx/nvidia/CMakeLists.txt @@ -1,7 +1,10 @@ target_sources(MorpheusGfxNVidia PUBLIC - adapter.hpp - driver.hpp + FILE_SET HEADERS + FILES + adapter.hpp + driver.hpp + functions.hpp PRIVATE adapter.cpp driver.cpp diff --git a/libraries/gfx/nvidia/thirdparty/nvapi/CMakeLists.txt b/libraries/gfx/nvidia/thirdparty/nvapi/CMakeLists.txt index fca79eae..d81cf765 100644 --- a/libraries/gfx/nvidia/thirdparty/nvapi/CMakeLists.txt +++ b/libraries/gfx/nvidia/thirdparty/nvapi/CMakeLists.txt @@ -5,11 +5,14 @@ FetchContent_Declare( ) FetchContent_MakeAvailable(nvapi) -add_library(Nvapi STATIC) -add_library(NVidia::Nvapi ALIAS Nvapi) +morpheus_add_library( + NAME Nvapi + ALIAS NVidia::Nvapi +) + target_include_directories(Nvapi PUBLIC - ${nvapi_SOURCE_DIR}/R550-OpenSource + $/include> $ ) @@ -22,9 +25,12 @@ target_compile_options(Nvapi ) 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 + $/include/nvapi.h> + $/include/nvapi_interface.h> + $/include/NvApiDriverSettings.h> + $ + $ + $ PRIVATE ${nvapi_SOURCE_DIR}/R550-OpenSource/NvApiDriverSettings.c ) diff --git a/libraries/gfx/platform/src/morpheus/gfx/platform/CMakeLists.txt b/libraries/gfx/platform/src/morpheus/gfx/platform/CMakeLists.txt index e94298d4..b7e924fc 100644 --- a/libraries/gfx/platform/src/morpheus/gfx/platform/CMakeLists.txt +++ b/libraries/gfx/platform/src/morpheus/gfx/platform/CMakeLists.txt @@ -12,14 +12,16 @@ endif(UNIX AND NOT APPLE) target_sources(MorpheusGfxPlatform PUBLIC - adapter.hpp - image.hpp - pixel.hpp - render_system.hpp - render_target.hpp - render_window.hpp - vendor.hpp - video_mode.hpp + FILE_SET HEADERS + FILES + adapter.hpp + image.hpp + pixel.hpp + render_system.hpp + render_target.hpp + render_window.hpp + vendor.hpp + video_mode.hpp PRIVATE adapter.cpp image.cpp diff --git a/libraries/gfx/platform/src/morpheus/gfx/platform/concepts/CMakeLists.txt b/libraries/gfx/platform/src/morpheus/gfx/platform/concepts/CMakeLists.txt index 15439088..61ab5a76 100644 --- a/libraries/gfx/platform/src/morpheus/gfx/platform/concepts/CMakeLists.txt +++ b/libraries/gfx/platform/src/morpheus/gfx/platform/concepts/CMakeLists.txt @@ -1,8 +1,10 @@ target_sources(MorpheusGfxPlatform PUBLIC - adapter.hpp - render_system.hpp - render_target.hpp - render_window.hpp - video_mode.hpp + FILE_SET HEADERS + FILES + adapter.hpp + render_system.hpp + render_target.hpp + render_window.hpp + video_mode.hpp ) diff --git a/libraries/gfx/platform/src/morpheus/gfx/platform/win32/CMakeLists.txt b/libraries/gfx/platform/src/morpheus/gfx/platform/win32/CMakeLists.txt index fcd59a34..002010b4 100644 --- a/libraries/gfx/platform/src/morpheus/gfx/platform/win32/CMakeLists.txt +++ b/libraries/gfx/platform/src/morpheus/gfx/platform/win32/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(MorpheusGfxPlatform PUBLIC - render_window.hpp + FILE_SET HEADERS + FILES + render_window.hpp PRIVATE render_window.cpp ) diff --git a/libraries/gfx/platform/src/morpheus/gfx/platform/x11/CMakeLists.txt b/libraries/gfx/platform/src/morpheus/gfx/platform/x11/CMakeLists.txt index 18eb83c4..8dbe3650 100644 --- a/libraries/gfx/platform/src/morpheus/gfx/platform/x11/CMakeLists.txt +++ b/libraries/gfx/platform/src/morpheus/gfx/platform/x11/CMakeLists.txt @@ -1,6 +1,8 @@ target_sources(MorpheusGfxPlatform PUBLIC - render_window.hpp + FILE_SET HEADERS + FILES + render_window.hpp PRIVATE render_window.cpp ) diff --git a/libraries/gfx/vulkan/src/morpheus/gfx/vulkan/CMakeLists.txt b/libraries/gfx/vulkan/src/morpheus/gfx/vulkan/CMakeLists.txt index 5eccc13a..127841d4 100644 --- a/libraries/gfx/vulkan/src/morpheus/gfx/vulkan/CMakeLists.txt +++ b/libraries/gfx/vulkan/src/morpheus/gfx/vulkan/CMakeLists.txt @@ -1,10 +1,12 @@ target_sources(MorpheusGfxVulkan PUBLIC - adapter.hpp - version.hpp - video_mode.hpp - error_codes.hpp - render_system.hpp + FILE_SET HEADERS + FILES + adapter.hpp + version.hpp + video_mode.hpp + error_codes.hpp + render_system.hpp PRIVATE adapter.cpp video_mode.cpp