Skip to content

Commit

Permalink
Revert "Enable installation only if top-level" (#54)
Browse files Browse the repository at this point in the history
This reverts commit aef0d2e, as it
breaks CMake's silly install logic.
  • Loading branch information
stephenswat authored Feb 14, 2025
2 parents 1507359 + 3eb4bd6 commit c080bd7
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 54 deletions.
58 changes: 28 additions & 30 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,33 +71,31 @@ if(COVFIE_BUILD_EXAMPLES)
add_subdirectory(examples)
endif()

if(PROJECT_IS_TOP_LEVEL)
# Installation logic.
# CMake is hell.
include(CMakePackageConfigHelpers)

write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion
)

configure_package_config_file(
${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
)

install(
EXPORT ${PROJECT_NAME}Targets
NAMESPACE ${PROJECT_NAME}::
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
)

install(
FILES
${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
)
endif()
# Installation logic.
# CMake is hell.
include(CMakePackageConfigHelpers)

write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY SameMajorVersion
)

configure_package_config_file(
${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
)

install(
EXPORT ${PROJECT_NAME}Targets
NAMESPACE ${PROJECT_NAME}::
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
)

install(
FILES
${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake
)
14 changes: 6 additions & 8 deletions lib/core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,13 @@ set_target_properties(
core
)

if(PROJECT_IS_TOP_LEVEL)
install(TARGETS covfie_core EXPORT ${PROJECT_NAME}Targets)
install(TARGETS covfie_core EXPORT ${PROJECT_NAME}Targets)

install(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/covfie
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
install(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/covfie
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)

# Hack for people using the disgusting mal-practice of pullling in external
# projects via "add_subdirectory"...
Expand Down
14 changes: 6 additions & 8 deletions lib/cpu/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,13 @@ set_target_properties(
cpu
)

if(PROJECT_IS_TOP_LEVEL)
install(TARGETS covfie_cpu EXPORT ${PROJECT_NAME}Targets)
install(TARGETS covfie_cpu EXPORT ${PROJECT_NAME}Targets)

install(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/covfie
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
install(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/covfie
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)

target_link_libraries(covfie_cpu INTERFACE covfie_core)

Expand Down
14 changes: 6 additions & 8 deletions lib/cuda/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,13 @@ set_target_properties(
cuda
)

if(PROJECT_IS_TOP_LEVEL)
install(TARGETS covfie_cuda EXPORT ${PROJECT_NAME}Targets)
install(TARGETS covfie_cuda EXPORT ${PROJECT_NAME}Targets)

install(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/covfie
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)
endif()
install(
DIRECTORY
${CMAKE_CURRENT_SOURCE_DIR}/covfie
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
)

# Hack for compatibility
if(NOT PROJECT_IS_TOP_LEVEL)
Expand Down

0 comments on commit c080bd7

Please sign in to comment.