Skip to content

Commit

Permalink
Added RE2_ENABLE_INSTALL
Browse files Browse the repository at this point in the history
  • Loading branch information
veblush committed Oct 17, 2024
1 parent 6dcd83d commit fe02dfa
Showing 1 changed file with 39 additions and 29 deletions.
68 changes: 39 additions & 29 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,14 @@ option(RE2_BUILD_FRAMEWORK "build RE2 as a framework" OFF)
# so we provide an option similar to BUILD_TESTING, but just for RE2.
option(RE2_BUILD_TESTING "enable testing for RE2" OFF)

# When re2 is included as subproject (i.e. using add_subdirectory(re2))
# in the source tree of a project that uses it, install rules are disabled.
if(NOT CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
option(RE2_ENABLE_INSTALL "enable install for RE2" OFF)
else()
option(RE2_ENABLE_INSTALL "enable install for RE2" ON)
endif()

# The pkg-config Requires: field.
set(REQUIRES)

Expand Down Expand Up @@ -237,32 +245,34 @@ if(RE2_BUILD_TESTING)
endforeach()
endif()

install(TARGETS re2
EXPORT re2Targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/re2
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT re2Targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2
NAMESPACE re2::)

configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/re2Config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
VERSION ${SONAME}.0.0
COMPATIBILITY SameMajorVersion)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/re2.pc.in
${CMAKE_CURRENT_BINARY_DIR}/re2.pc
@ONLY)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
if(RE2_ENABLE_INSTALL)
install(TARGETS re2
EXPORT re2Targets
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR}
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/re2
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT re2Targets
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2
NAMESPACE re2::)

configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/re2Config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
VERSION ${SONAME}.0.0
COMPATIBILITY SameMajorVersion)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/re2ConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/re2)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/re2.pc.in
${CMAKE_CURRENT_BINARY_DIR}/re2.pc
@ONLY)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/re2.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
endif()

0 comments on commit fe02dfa

Please sign in to comment.