# Copyright (c) 2025, Jayden Grubb # SPDX-License-Identifier: BSD-3-Clause set(NOVA_ENGINE_SRC core/debug.cpp ) list(TRANSFORM NOVA_ENGINE_SRC PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/src/) add_library(nova SHARED ${NOVA_ENGINE_SRC}) target_include_directories(nova PUBLIC $ $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src ) set_target_properties(nova PROPERTIES DEFINE_SYMBOL NOVA_EXPORT_SYMBOLS ) add_library(nova::nova ALIAS nova) # {INSTALL_PREFIX} # |-- include # | `-- nova # | `-- *.hpp # |-- lib # | `-- libnova.so # `-- share # `-- cmake # `-- nova # |-- nova-config.cmake # |-- nova-config-version.cmake # |-- nova-targets.cmake # `-- nova-targets-release.cmake install( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/nova DESTINATION include FILES_MATCHING PATTERN "*.hpp" ) install( TARGETS nova EXPORT nova-targets # LIBRARY DESTINATION lib # ARCHIVE DESTINATION lib # RUNTIME DESTINATION bin # INCLUDES DESTINATION include ) install( EXPORT nova-targets FILE nova-targets.cmake NAMESPACE nova:: DESTINATION share/cmake/nova ) include(CMakePackageConfigHelpers) configure_package_config_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/nova-config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/nova-config.cmake INSTALL_DESTINATION share/cmake/nova ) write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/nova-config-version.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/nova-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/nova-config-version.cmake DESTINATION share/cmake/nova )