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)
include(CMakePackageConfigHelpers)
set(CMAKE_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp CACHE STRING
"CMake package config files install location") "CMake package config files install location")
configure_package_config_file( configure_package_config_file(
${CMAKE_CURRENT_SOURCE_DIR}/cmake/ricepp-config.cmake.in ${CMAKE_CURRENT_SOURCE_DIR}/cmake/ricepp-config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_DIR} INSTALL_DESTINATION ${CMAKE_INSTALL_DIR}
PATH_VARS PATH_VARS
CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_INCLUDEDIR
CMAKE_INSTALL_DIR CMAKE_INSTALL_DIR
) )
write_basic_package_version_file( write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/ricepp-config-version.cmake ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config-version.cmake
VERSION 0.1.0 VERSION 0.1.0
COMPATIBILITY SameMajorVersion COMPATIBILITY SameMajorVersion
) )
install( install(
TARGETS ricepp TARGETS ricepp
EXPORT ricepp-targets EXPORT ricepp-targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
) )
install( install(
DIRECTORY include/ DIRECTORY include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h" FILES_MATCHING PATTERN "*.h"
) )
install( install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake FILES ${CMAKE_CURRENT_BINARY_DIR}/ricepp-config.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ricepp
) )
install( install(
EXPORT ricepp-targets EXPORT ricepp-targets
FILE ricepp-targets.cmake FILE ricepp-targets.cmake
NAMESPACE ricepp:: NAMESPACE ricepp::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/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)