From c6a1d7fb6b0730eb7aa3edcdd62b9c41b1d31896 Mon Sep 17 00:00:00 2001 From: Ryan Ofsky Date: Fri, 29 Mar 2024 19:37:33 -0400 Subject: [PATCH] cmake: rename new packages and module introduced in #95 and #96 Rename "LibmultiprocessMacros.cmake" module to "TargetCapnpSources.cmake" to match the name of the target_capnp_sources function it contains. Also install it /lib/cmake/Libmultiprocess/TargetCapnpSources.cmake instead of: /lib/cmake/LibmultiprocessGen/LibmultiprocessMacros.cmake Rename the "LibmultiprocessGen" package to "LibmultiprocessBin" and rename the "Libmultiprocess" package to "LibmultiprocessLib", so package names are consistent with component names "bin" and "lib", and one package name is not a prefix of the other. Also rename intermediate files to match component names. |----------------+----------------------------------+----------------------------------------------| | | New | Current | |----------------+----------------------------------+----------------------------------------------| | Component name | lib | lib | | Package name | LibmultiprocessLib | Libmultiprocess | | Config file | LibmultiprocessLibConfig.cmake | Libmultiprocess/LibmultiprocessConfig.cmake | | Targets file | Libmultiprocess/LibTargets.cmake | Libmultiprocess/LibmultiprocessTargets.cmake | |----------------+----------------------------------+----------------------------------------------| |----------------+----------------------------------+----------------------------------------------------| | | New | Current | |----------------+----------------------------------+----------------------------------------------------| | Component name | bin | bin | | Package name | LibmultiprocessBin | LibmultiprocessGen | | Config file | LibmultiprocessBinConfig.cmake | LibmultiprocessGen/LibmultiprocessGenConfig.cmake | | Targets file | Libmultiprocess/BinTargets.cmake | LibmultiprocessGen/LibmultiprocessGenTargets.cmake | |----------------+----------------------------------+----------------------------------------------------| --- CMakeLists.txt | 35 ++++++++++--------- cmake/LibmultiprocessBinConfig.cmake.in | 6 ++++ cmake/LibmultiprocessConfig.cmake.in | 8 ----- cmake/LibmultiprocessGenConfig.cmake.in | 6 ---- cmake/LibmultiprocessLibConfig.cmake.in | 8 +++++ ...sMacros.cmake => TargetCapnpSources.cmake} | 0 example/CMakeLists.txt | 2 +- test/CMakeLists.txt | 2 +- 8 files changed, 35 insertions(+), 32 deletions(-) create mode 100644 cmake/LibmultiprocessBinConfig.cmake.in delete mode 100644 cmake/LibmultiprocessConfig.cmake.in delete mode 100644 cmake/LibmultiprocessGenConfig.cmake.in create mode 100644 cmake/LibmultiprocessLibConfig.cmake.in rename cmake/{LibmultiprocessMacros.cmake => TargetCapnpSources.cmake} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 073f2455..833faa4b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,24 +89,24 @@ target_link_libraries(multiprocess PRIVATE CapnProto::kj) target_link_libraries(multiprocess PRIVATE CapnProto::kj-async) set_target_properties(multiprocess PROPERTIES PUBLIC_HEADER "${MP_PUBLIC_HEADERS}") -install(TARGETS multiprocess EXPORT LibmultiprocessTargets +install(TARGETS multiprocess EXPORT LibTargets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mp COMPONENT lib) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/libmultiprocess.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT lib) -install(EXPORT LibmultiprocessTargets +install(EXPORT LibTargets NAMESPACE Libmultiprocess:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Libmultiprocess COMPONENT lib) include(CMakePackageConfigHelpers) configure_package_config_file( - ${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessConfig.cmake.in - LibmultiprocessConfig.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Libmultiprocess + ${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessLibConfig.cmake.in + LibmultiprocessLibConfig.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake NO_SET_AND_CHECK_MACRO) install( FILES - ${CMAKE_CURRENT_BINARY_DIR}/LibmultiprocessConfig.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Libmultiprocess COMPONENT lib) + ${CMAKE_CURRENT_BINARY_DIR}/LibmultiprocessLibConfig.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake COMPONENT lib) add_custom_target(install-lib COMMAND ${CMAKE_COMMAND} -DCOMPONENT=lib -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_install.cmake VERBATIM) @@ -125,25 +125,28 @@ set_target_properties(mpgen PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE) set_target_properties(mpgen PROPERTIES PUBLIC_HEADER include/mp/proxy.capnp) -install(TARGETS mpgen EXPORT LibmultiprocessGenTargets +install(TARGETS mpgen EXPORT BinTargets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT bin PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/mp COMPONENT bin) install(FILES "include/mpgen.mk" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT bin) -install(EXPORT LibmultiprocessGenTargets +install(EXPORT BinTargets NAMESPACE Libmultiprocess:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LibmultiprocessGen COMPONENT bin) + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Libmultiprocess COMPONENT bin) include(CMakePackageConfigHelpers) configure_package_config_file( - ${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessGenConfig.cmake.in - LibmultiprocessGenConfig.cmake - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LibmultiprocessGen + ${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessBinConfig.cmake.in + LibmultiprocessBinConfig.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake NO_SET_AND_CHECK_MACRO) install( FILES - ${CMAKE_CURRENT_BINARY_DIR}/LibmultiprocessGenConfig.cmake - ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibmultiprocessMacros.cmake - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LibmultiprocessGen COMPONENT bin) + ${CMAKE_CURRENT_BINARY_DIR}/LibmultiprocessBinConfig.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake COMPONENT bin) +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/TargetCapnpSources.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/Libmultiprocess COMPONENT bin) add_custom_target(install-bin COMMAND ${CMAKE_COMMAND} -DCOMPONENT=bin -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_install.cmake VERBATIM) diff --git a/cmake/LibmultiprocessBinConfig.cmake.in b/cmake/LibmultiprocessBinConfig.cmake.in new file mode 100644 index 00000000..b93453f8 --- /dev/null +++ b/cmake/LibmultiprocessBinConfig.cmake.in @@ -0,0 +1,6 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/Libmultiprocess/BinTargets.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/Libmultiprocess/TargetCapnpSources.cmake") + +check_required_components(LibmultiprocessBin) diff --git a/cmake/LibmultiprocessConfig.cmake.in b/cmake/LibmultiprocessConfig.cmake.in deleted file mode 100644 index 0f486030..00000000 --- a/cmake/LibmultiprocessConfig.cmake.in +++ /dev/null @@ -1,8 +0,0 @@ -@PACKAGE_INIT@ - -include(CMakeFindDependencyMacro) -find_dependency(CapnProto) - -include("${CMAKE_CURRENT_LIST_DIR}/LibmultiprocessTargets.cmake") - -check_required_components(Libmultiprocess) diff --git a/cmake/LibmultiprocessGenConfig.cmake.in b/cmake/LibmultiprocessGenConfig.cmake.in deleted file mode 100644 index 0bf93e2b..00000000 --- a/cmake/LibmultiprocessGenConfig.cmake.in +++ /dev/null @@ -1,6 +0,0 @@ -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/LibmultiprocessGenTargets.cmake") -include("${CMAKE_CURRENT_LIST_DIR}/LibmultiprocessMacros.cmake") - -check_required_components(LibmultiprocessGen) diff --git a/cmake/LibmultiprocessLibConfig.cmake.in b/cmake/LibmultiprocessLibConfig.cmake.in new file mode 100644 index 00000000..7b58ffa4 --- /dev/null +++ b/cmake/LibmultiprocessLibConfig.cmake.in @@ -0,0 +1,8 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(CapnProto) + +include("${CMAKE_CURRENT_LIST_DIR}/Libmultiprocess/LibTargets.cmake") + +check_required_components(LibmultiprocessLib) diff --git a/cmake/LibmultiprocessMacros.cmake b/cmake/TargetCapnpSources.cmake similarity index 100% rename from cmake/LibmultiprocessMacros.cmake rename to cmake/TargetCapnpSources.cmake diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt index f0f30bcc..a776322f 100644 --- a/example/CMakeLists.txt +++ b/example/CMakeLists.txt @@ -2,7 +2,7 @@ # Distributed under the MIT software license, see the accompanying # file COPYING or http://www.opensource.org/licenses/mit-license.php. -include(${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessMacros.cmake) +include(${PROJECT_SOURCE_DIR}/cmake/TargetCapnpSources.cmake) add_executable(mpcalculator calculator.cpp diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 52c35195..b6ae925b 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -23,7 +23,7 @@ if(BUILD_TESTING AND TARGET CapnProto::kj-test) mp/test/foo.h mp/test/test.cpp ) - include(${PROJECT_SOURCE_DIR}/cmake/LibmultiprocessMacros.cmake) + include(${PROJECT_SOURCE_DIR}/cmake/TargetCapnpSources.cmake) target_capnp_sources(mptest ${CMAKE_CURRENT_SOURCE_DIR} mp/test/foo.capnp IMPORT_PATHS ${CMAKE_SOURCE_DIR}/include )