Skip to content

Commit ff80636

Browse files
committed
Reuse common CMake install rule
1 parent 8b8cc32 commit ff80636

2 files changed

Lines changed: 16 additions & 34 deletions

File tree

‎CMakeLists.txt‎

Lines changed: 15 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
cmake_minimum_required(VERSION 3.16)
22

3-
project(stdcorelib-plugin VERSION 0.1.0.0 LANGUAGES CXX)
3+
project(stdcorelib-plugin
4+
VERSION 0.1.0.0
5+
LANGUAGES CXX
6+
DESCRIPTION "Plugin management module"
7+
HOMEPAGE_URL "https://github.com/stdware/stdcorelib.plugin"
8+
)
49

510
# ----------------------------------
611
# Build Options
@@ -65,6 +70,7 @@ include(cmake/AddPluginMetadata.cmake)
6570

6671
file(GLOB _src src/plugin/*.cpp)
6772
list(FILTER _src EXCLUDE REGEX "pluginloader_(win|linux|mac)\\.cpp$")
73+
6874
if(WIN32)
6975
list(APPEND _src src/plugin/pluginloader_win.cpp)
7076
elseif(APPLE)
@@ -126,8 +132,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES
126132
# Add platform specific
127133
if(WIN32)
128134
stdc_add_win_rc(${PROJECT_NAME}
129-
DESCRIPTION "C++ Plugin Framework"
130-
COPYRIGHT "Copyright (C) 2025-present Stdware Collections"
135+
COPYRIGHT "Copyright (C) 2022-present Stdware Collections"
131136
)
132137
endif()
133138

@@ -151,46 +156,23 @@ if(STDC_PLUGIN_INSTALL)
151156

152157
set(_install_dir ${CMAKE_INSTALL_LIBDIR}/cmake/${STDC_PLUGIN_INSTALL_NAME})
153158

154-
# Add version file
155-
write_basic_package_version_file(
156-
"${CMAKE_CURRENT_BINARY_DIR}/${STDC_PLUGIN_INSTALL_NAME}ConfigVersion.cmake"
159+
stdc_add_install_rule(
160+
NAME ${STDC_PLUGIN_INSTALL_NAME}
157161
VERSION ${PROJECT_VERSION}
158162
COMPATIBILITY SameMajorVersion
163+
INSTALL_DIR ${_install_dir}
164+
CONFIG_TEMPLATE ${CMAKE_CURRENT_LIST_DIR}/${STDC_PLUGIN_INSTALL_NAME}Config.cmake.in
165+
NAMESPACE stdcorelib::
166+
EXPORT ${STDC_PLUGIN_INSTALL_NAME}Targets
167+
WRITE_CONFIG_OPTIONS NO_CHECK_REQUIRED_COMPONENTS_MACRO
159168
)
160169

161-
# Add configuration file
162-
configure_package_config_file(
163-
${CMAKE_CURRENT_LIST_DIR}/${STDC_PLUGIN_INSTALL_NAME}Config.cmake.in
164-
"${CMAKE_CURRENT_BINARY_DIR}/${STDC_PLUGIN_INSTALL_NAME}Config.cmake"
165-
INSTALL_DESTINATION ${_install_dir}
166-
NO_CHECK_REQUIRED_COMPONENTS_MACRO
167-
)
168-
169-
# Install cmake files
170-
install(FILES
171-
"${CMAKE_CURRENT_BINARY_DIR}/${STDC_PLUGIN_INSTALL_NAME}Config.cmake"
172-
"${CMAKE_CURRENT_BINARY_DIR}/${STDC_PLUGIN_INSTALL_NAME}ConfigVersion.cmake"
173-
DESTINATION ${_install_dir}
174-
)
175170
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake"
176171
DESTINATION ${_install_dir}
177172
)
178173

179-
# Install cmake targets files
180-
install(EXPORT ${STDC_PLUGIN_INSTALL_NAME}Targets
181-
FILE "${STDC_PLUGIN_INSTALL_NAME}Targets.cmake"
182-
NAMESPACE stdcorelib::
183-
DESTINATION ${_install_dir}
184-
)
185-
186174
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
187175
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
188176
FILES_MATCHING PATTERN "*.h"
189177
)
190-
191-
# Under the project's own name, so that a prefix holding more than one project keeps them
192-
# apart.
193-
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE
194-
DESTINATION ${CMAKE_INSTALL_DATADIR}/${STDC_PLUGIN_INSTALL_NAME}
195-
)
196178
endif()

‎LICENSE‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2025-present Stdware Collections
3+
Copyright (c) 2022-present Stdware Collections
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)