Skip to content

Commit 2af9ed7

Browse files
committed
Refactor variables and naming.
1 parent b75247d commit 2af9ed7

File tree

6 files changed

+57
-37
lines changed

6 files changed

+57
-37
lines changed

CMakeLists.txt

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,26 +86,31 @@ if(ystdlib_ENABLE_TESTS)
8686
endif()
8787

8888
# We require all libraries use the same minimum version of dependencies to avoid issues.
89-
set(MIN_BOOST_VERSION "1.81.0")
89+
set(BOOST_MIN_VERSION "1.81.0")
9090

91-
add_subdirectory(src/ystdlib)
91+
set(CONFIG_PATH_SUFFIX "cmake/ystdlib")
92+
set(CONFIG_LIBS_PATH_SUFFIX "${CONFIG_PATH_SUFFIX}/libs")
93+
94+
# Used by libraries and must come before add_subdirectory.
95+
set(CONFIG_LIBS_DEST_DIR "${CMAKE_INSTALL_LIBDIR}/${CONFIG_LIBS_PATH_SUFFIX}")
96+
set(CONFIG_LIBS_INPUT_DIR "${PROJECT_SOURCE_DIR}/${CONFIG_LIBS_PATH_SUFFIX}")
9297

93-
set(ystdlib_INSTALL_CONFIG_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/ystdlib)
98+
add_subdirectory(src/ystdlib)
9499

95100
set(CONFIG_FILE_PREFIX "ystdlib-config")
101+
set(CONFIG_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}/${CONFIG_PATH_SUFFIX})
96102
set(CONFIG_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_FILE_PREFIX}.cmake")
97103
set(CONFIG_VERSION_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_FILE_PREFIX}-version.cmake")
104+
98105
configure_package_config_file(
99-
"${CMAKE_CURRENT_LIST_DIR}/cmake/${CONFIG_FILE_PREFIX}.cmake.in"
106+
"${CMAKE_CURRENT_LIST_DIR}/${CONFIG_PATH_SUFFIX}/${CONFIG_FILE_PREFIX}.cmake.in"
100107
"${CONFIG_OUTPUT_PATH}"
101-
INSTALL_DESTINATION "${ystdlib_INSTALL_CONFIG_DIR}"
108+
INSTALL_DESTINATION "${CONFIG_INSTALL_DIR}"
102109
)
103-
104110
write_basic_package_version_file("${CONFIG_VERSION_OUTPUT_PATH}" COMPATIBILITY SameMajorVersion)
105-
106111
install(
107112
FILES
108113
"${CONFIG_OUTPUT_PATH}"
109114
"${CONFIG_VERSION_OUTPUT_PATH}"
110-
DESTINATION "${ystdlib_INSTALL_CONFIG_DIR}"
115+
DESTINATION "${CONFIG_INSTALL_DIR}"
111116
)

cmake/ystdlib-helpers.cmake

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ function(add_cpp_library)
6666
set(ARG_BUILD_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/src")
6767
endif()
6868

69+
set(TARGET_NAME "${ARG_NAMESPACE}_${ARG_NAME}")
6970
set(ALIAS_TARGET_NAME "${ARG_NAMESPACE}::${ARG_NAME}")
7071

7172
check_if_header_only(ARG_PUBLIC_HEADERS IS_VALID_INTERFACE INVALID_HEADER_FILE)
@@ -177,55 +178,49 @@ endfunction()
177178
#
178179
# @param {string} NAME
179180
# @param {string} NAMESPACE
180-
# @param {string} [CONFIG_DEST_DIR="${CMAKE_INSTALL_LIBDIR}/cmake/${ARG_NAMESPACE}/libs"]
181-
# Destination to install the generated config file (`NAME-config.cmake`).
182-
# @param {string} [CONFIG_INPUT_DIR="${PROJECT_SOURCE_DIR}/cmake/libs"]
183-
# `configure_package_config_file` input file (`NAME-config.cmake.in`).
184-
# @param {string} [CONFIG_OUTPUT_DIR="${CMAKE_CURRENT_BINARY_DIR}"] `configure_package_config_file`
185-
# output file (`NAME-config.cmake`).
181+
# @param {string} CONFIG_DEST_DIR Destination to install the generated config file
182+
# (`NAME-config.cmake`).
183+
# @param {string} CONFIG_INPUT_DIR `configure_package_config_file` input file
184+
# (`NAME-config.cmake.in`).
186185
function(install_library)
187186
set(SINGLE_VALUE_ARGS
188187
NAME
189188
NAMESPACE
190189
CONFIG_DEST_DIR
191190
CONFIG_INPUT_DIR
192-
CONFIG_OUTPUT_DIR
193191
)
194192
set(REQUIRED_ARGS
195193
NAME
196194
NAMESPACE
195+
CONFIG_DEST_DIR
196+
CONFIG_INPUT_DIR
197197
)
198198
cmake_parse_arguments(ARG "" "${SINGLE_VALUE_ARGS}" "" ${ARGN})
199199
check_required_arguments_exist("${REQUIRED_ARGS}")
200200

201-
if(NOT DEFINED ARG_CONFIG_DEST_DIR)
202-
set(ARG_CONFIG_DEST_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${ARG_NAMESPACE}/libs")
203-
endif()
204-
205-
if(NOT DEFINED ARG_CONFIG_INPUT_DIR)
206-
set(ARG_CONFIG_INPUT_DIR "${PROJECT_SOURCE_DIR}/cmake/libs")
207-
endif()
208-
209-
if(NOT DEFINED ARG_CONFIG_OUTPUT_DIR)
210-
set(ARG_CONFIG_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}")
211-
endif()
212-
213201
set(EXPORT_NAME "${ARG_NAME}-target")
214202
install(TARGETS "${ARG_NAME}" EXPORT "${EXPORT_NAME}" LIBRARY ARCHIVE RUNTIME FILE_SET HEADERS)
215-
203+
set_target_properties(
204+
"${ARG_NAME}"
205+
PROPERTIES
206+
OUTPUT_NAME
207+
"${ARG_NAMESPACE}_${ARG_NAME}"
208+
)
216209
install(
217210
EXPORT "${EXPORT_NAME}"
218211
DESTINATION ${ARG_CONFIG_DEST_DIR}
219212
NAMESPACE "${ARG_NAMESPACE}::"
220213
)
221214

222215
set(CONFIG_FILE_NAME "${ARG_NAME}-config.cmake")
223-
set(CONFIG_OUTPUT_PATH "${ARG_CONFIG_OUTPUT_DIR}/${CONFIG_FILE_NAME}")
224216
configure_package_config_file(
225217
"${ARG_CONFIG_INPUT_DIR}/${CONFIG_FILE_NAME}.in"
226-
"${CONFIG_OUTPUT_PATH}"
218+
"${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_FILE_NAME}"
227219
INSTALL_DESTINATION "${ARG_CONFIG_DEST_DIR}"
228220
)
229-
230-
install(FILES "${CONFIG_OUTPUT_PATH}" DESTINATION "${ARG_CONFIG_DEST_DIR}")
221+
install(
222+
FILES
223+
"${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_FILE_NAME}"
224+
DESTINATION "${ARG_CONFIG_DEST_DIR}"
225+
)
231226
endfunction()

src/ystdlib/containers/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,9 @@ if(ystdlib_ENABLE_TESTS)
1414
)
1515
endif()
1616

17-
install_library(NAME containers NAMESPACE ystdlib)
17+
install_library(
18+
NAME containers
19+
NAMESPACE ystdlib
20+
CONFIG_DEST_DIR "${CONFIG_LIBS_DEST_DIR}"
21+
CONFIG_INPUT_DIR "${CONFIG_LIBS_INPUT_DIR}"
22+
)

src/ystdlib/error_handling/CMakeLists.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ if(TARGET ystdlib::error_handling)
33
endif()
44

55
set(BOOST_FIND_PACKAGE_ARGS
6-
"${MIN_BOOST_VERSION}"
6+
"${BOOST_MIN_VERSION}"
77
REQUIRED
88
COMPONENTS
99
headers
@@ -36,4 +36,9 @@ if(ystdlib_ENABLE_TESTS)
3636
)
3737
endif()
3838

39-
install_library(NAME error_handling NAMESPACE ystdlib)
39+
install_library(
40+
NAME error_handling
41+
NAMESPACE ystdlib
42+
CONFIG_DEST_DIR "${CONFIG_LIBS_DEST_DIR}"
43+
CONFIG_INPUT_DIR "${CONFIG_LIBS_INPUT_DIR}"
44+
)

src/ystdlib/io_interface/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,9 @@ if(ystdlib_ENABLE_TESTS)
3333
)
3434
endif()
3535

36-
install_library(NAME io_interface NAMESPACE ystdlib)
36+
install_library(
37+
NAME io_interface
38+
NAMESPACE ystdlib
39+
CONFIG_DEST_DIR "${CONFIG_LIBS_DEST_DIR}"
40+
CONFIG_INPUT_DIR "${CONFIG_LIBS_INPUT_DIR}"
41+
)

src/ystdlib/wrapped_facade_headers/CMakeLists.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,9 @@ if(ystdlib_ENABLE_TESTS)
1414
)
1515
endif()
1616

17-
install_library(NAME wrapped_facade_headers NAMESPACE ystdlib)
17+
install_library(
18+
NAME wrapped_facade_headers
19+
NAMESPACE ystdlib
20+
CONFIG_DEST_DIR "${CONFIG_LIBS_DEST_DIR}"
21+
CONFIG_INPUT_DIR "${CONFIG_LIBS_INPUT_DIR}"
22+
)

0 commit comments

Comments
 (0)