fix(ricepp): don't install when building as subproject (fixes gh #195)

This commit is contained in:
Marcus Holland-Moritz 2024-02-12 13:29:16 +01:00
parent f1f55dd48c
commit 5ede1fb84d

View File

@ -87,53 +87,59 @@ target_include_directories(ricepp PUBLIC
target_compile_features(ricepp PUBLIC cxx_std_20) target_compile_features(ricepp PUBLIC cxx_std_20)
target_compile_definitions(ricepp PRIVATE ${RICEPP_CPU_SUPPORT}) target_compile_definitions(ricepp PRIVATE ${RICEPP_CPU_SUPPORT})
include(GNUInstallDirs) if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
include(CMakePackageConfigHelpers) message(STATUS "[ricepp] building standalone")
set(CMAKE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp CACHE STRING include(GNUInstallDirs)
"CMake package config files install location") include(CMakePackageConfigHelpers)
configure_package_config_file( set(CMAKE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp CACHE STRING
${CMAKE_CURRENT_SOURCE_DIR}/cmake/ricepp-config.cmake.in "CMake package config files install location")
${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}
PATH_VARS
CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_DIR
)
write_basic_package_version_file( configure_package_config_file(
${CMAKE_CURRENT_BINARY_DIR}/ricepp-config-version.cmake ${CMAKE_CURRENT_SOURCE_DIR}/cmake/ricepp-config.cmake.in
VERSION 0.1.0 ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake
COMPATIBILITY SameMajorVersion INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}
) PATH_VARS
CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_DIR
)
install( write_basic_package_version_file(
TARGETS ricepp ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config-version.cmake
EXPORT ricepp-targets VERSION 0.1.0
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPATIBILITY SameMajorVersion
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install( install(
DIRECTORY include/ TARGETS ricepp
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} EXPORT ricepp-targets
FILES_MATCHING PATTERN "*.h" LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
) ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
install( install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake DIRECTORY include/
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
) FILES_MATCHING PATTERN "*.h"
)
install( install(
EXPORT ricepp-targets FILES ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake
FILE ricepp-targets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp
NAMESPACE ricepp:: )
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp
) install(
EXPORT ricepp-targets
FILE ricepp-targets.cmake
NAMESPACE ricepp::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp
)
else()
message(STATUS "[ricepp] building as subproject")
endif()
# # TODO: remove/rework # # TODO: remove/rework
# add_executable(ricepp_demo ricepp_demo.cpp) # add_executable(ricepp_demo ricepp_demo.cpp)