Skip to content

Commit 6b545cd

Browse files
committed
fix(changelog, cmake): resolve Boost.Process issues and clean up
- Removed `Boost::process` from the Boost components list as it is header-only in v1, eliminating unnecessary search for a compiled library. - Fixed undefined variable `${target_lib}` in `dds-user-defaults` to use the correct `${target}`. - Corrected malformed generator expressions in all submit plugins to ensure proper directory paths. - Removed duplicate `dds_misc_lib` entries in multiple targets. - Cleaned up dead code by removing unused variables and consolidating `CMAKE_MODULE_PATH`.
1 parent 38bb0ac commit 6b545cd

11 files changed

Lines changed: 65 additions & 41 deletions

File tree

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.18.0] - 2026-03-18
9+
10+
### Fixed
11+
12+
- **CMake**: Removed `process` from the `Boost_Components` list and dropped the `Boost::process` fallback alias target. Boost.Process v1 is header-only, so no compiled library component needs to be searched for or linked.
13+
- **dds-misc-lib**: Removed `Boost::process` from `target_link_libraries`. The `Boost::boost` header-only target already provides the necessary include paths for Boost.Process v1.
14+
- **dds-user-defaults**: Fixed undefined variable `${target_lib}` in `add_library(ALIAS)` call; replaced with the correct variable `${target}`.
15+
- **plugins** (ssh, localhost, slurm, pbs, lsf): Fixed malformed generator expression `${PROJECT_BINARY_DIR/src}``${PROJECT_BINARY_DIR}/src` in `target_include_directories`.
16+
- **dds-commander**: Removed duplicate `dds_misc_lib` entry from `target_link_libraries`.
17+
- **dds-submit-ssh**: Removed duplicate `dds_misc_lib` entry from `target_link_libraries`.
18+
- **dds-submit-localhost**: Removed duplicate `dds_misc_lib` entry from `target_link_libraries`.
19+
20+
### Removed
21+
22+
- **CMake**: Removed dead `MiscCommon_LOCATION` variable (directory no longer exists, variable was never referenced).
23+
- **CMake**: Removed dead `IS_SET_DDS_INSTALL_PREFIX` cache variable (never referenced).
24+
- **CMake**: Consolidated duplicate `CMAKE_MODULE_PATH` assignments into a single `set()` call.
25+
826
## [3.17.0] - 2026-03-16
927

1028
### Added

CMakeLists.txt

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ set(DDS_PROTOCOL_VERSION "2")
2424

2525
string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
2626

27-
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
28-
2927
# Set policy CMP0167 to NEW to suppress the warning about FindBoost module removal
3028
if(POLICY CMP0167)
3129
cmake_policy(SET CMP0167 NEW)
@@ -167,22 +165,10 @@ add_custom_target( format-code
167165
COMMAND ${CMAKE_SOURCE_DIR}/utils/update_format.sh ${CMAKE_SOURCE_DIR}
168166
COMMENT "Updating source code formatting.")
169167

170-
#
171-
# This is needed to properly install PoD modules
172-
#
173-
set(IS_SET_DDS_INSTALL_PREFIX 1 CACHE INTERNAL "")
174168
#
175169
# Where to lookup modules
176170
#
177-
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR};${CMAKE_SOURCE_DIR}/cmake")
178-
#
179-
# MiscCommon location
180-
#
181-
set(MiscCommon_LOCATION ${CMAKE_SOURCE_DIR}/MiscCommon)
182-
set(MiscCommon_LOCATION
183-
${MiscCommon_LOCATION}
184-
${MiscCommon_LOCATION}/pipe_log_engine
185-
)
171+
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR};${CMAKE_SOURCE_DIR}/cmake;${CMAKE_SOURCE_DIR}/cmake/modules")
186172
#
187173
# Custom compiler definitions
188174
#
@@ -264,7 +250,7 @@ SET(DDS_SHARE_FILES
264250
#
265251
# Note: Starting with Boost 1.69+, system library is header-only and may not be available as a separate component
266252
# in modern CMake configurations. We handle this by trying CONFIG mode first, then falling back to MODULE mode.
267-
set(Boost_Components log log_setup thread program_options filesystem regex process)
253+
set(Boost_Components log log_setup thread program_options filesystem regex)
268254
if(BUILD_TESTS)
269255
set(Boost_Components ${Boost_Components} unit_test_framework)
270256
endif(BUILD_TESTS)
@@ -278,11 +264,6 @@ if(Boost_FOUND)
278264
message(STATUS "Boost::system not found as separate component (header-only in Boost 1.75+), creating alias")
279265
add_library(Boost::system ALIAS Boost::headers)
280266
endif()
281-
# Boost::process is also header-only and may not be available as separate component in CONFIG mode
282-
if(NOT TARGET Boost::process)
283-
message(STATUS "Boost::process not found as separate component (header-only), creating alias")
284-
add_library(Boost::process ALIAS Boost::headers)
285-
endif()
286267
else()
287268
# Fallback to traditional FindBoost module for compatibility
288269
message(STATUS "CONFIG mode failed, falling back to MODULE mode")
@@ -299,15 +280,15 @@ if(Boost_FOUND)
299280
message(STATUS "Using modern Boost CMake targets")
300281
else()
301282
message(STATUS "Using legacy Boost variables (creating interface targets for Boost 1.75+)")
302-
283+
303284
# Create interface target for header-only boost if it doesn't exist
304285
if(NOT TARGET Boost::boost)
305286
add_library(Boost::boost INTERFACE IMPORTED)
306287
set_target_properties(Boost::boost PROPERTIES
307288
INTERFACE_INCLUDE_DIRECTORIES "${Boost_INCLUDE_DIRS}"
308289
)
309290
endif()
310-
291+
311292
# Create missing component targets for legacy Boost 1.75+ support
312293
foreach(component IN LISTS Boost_Components)
313294
string(TOUPPER ${component} COMPONENT_UPPER)
@@ -491,7 +472,7 @@ if( BUILD_TESTS )
491472
ddsConfigTopoPropertyTest(2 10 property_test_up.xml)
492473
ddsConfigTopoPropertyTest(1 1000000 property_test_inf.xml)
493474
ddsConfigTopoPropertyTest(2 1000000 property_test_inf_up.xml)
494-
475+
495476
configure_file(run_test.sh.in ${CMAKE_CURRENT_BINARY_DIR}/run_test.sh @ONLY)
496477
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/run_test.sh DESTINATION "${PROJECT_INSTALL_TESTS}")
497478
install(PROGRAMS ${CMAKE_SOURCE_DIR}/res/tests/run_test_property.sh DESTINATION "${PROJECT_INSTALL_TESTS}")

ReleaseNotes.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
# Release Notes
22

3+
## [3.18.0] - 2026-03-18
4+
5+
### � Bug Fixes
6+
7+
#### Undefined Variable in dds-user-defaults
8+
9+
- **`add_library(ALIAS)` used `${target_lib}` instead of `${target}`**: The alias target name expanded to `dds-user-defaults::` (empty suffix) because `target_lib` was never defined. Fixed to use the correct variable `${target}``dds-user-defaults::dds_user_defaults_lib`.
10+
11+
#### Malformed Generator Expressions in All 5 Submit Plugins
12+
13+
- **`${PROJECT_BINARY_DIR/src}``${PROJECT_BINARY_DIR}/src`**: The `/src` was inside the CMake variable braces, causing the expression to evaluate to an empty string. Affected: `dds-submit-ssh`, `dds-submit-localhost`, `dds-submit-slurm`, `dds-submit-pbs`, `dds-submit-lsf`.
14+
15+
#### Duplicate Link Libraries
16+
17+
- **`dds_misc_lib` listed twice** in `dds-commander`, `dds-submit-ssh`, and `dds-submit-localhost` — removed the duplicates.
18+
19+
### 🔧 Build Infrastructure
20+
21+
#### Boost.Process v1 Is Header-Only — No Library Component Needed
22+
23+
- **Removed `process` from Boost component search**: `Boost.Process` v1 is a header-only library, so it must not be listed as a compiled component in `find_package(Boost ... COMPONENTS ...)`. The previous configuration caused CMake to search for a `libboost_process` binary that does not exist, along with a fallback alias workaround.
24+
- **Cleaned up `dds-misc-lib` link libraries**: `Boost::process` removed from `target_link_libraries` in `dds-misc-lib`. Include paths are already provided through the `Boost::boost` header-only interface target, so Boost.Process v1 headers remain fully accessible without any explicit link target.
25+
26+
#### Dead Code Cleanup
27+
28+
- **Removed `MiscCommon_LOCATION`**: Variable pointed to a non-existent directory and was never referenced by any CMakeLists.txt.
29+
- **Removed `IS_SET_DDS_INSTALL_PREFIX`**: Cache variable was set but never read anywhere in the project.
30+
- **Consolidated `CMAKE_MODULE_PATH`**: Merged two separate `set()` calls (where the second silently overwrote the first) into a single assignment including all three search directories.
31+
332
## [3.17.0] - 2026-03-16
433

534
### 🐛 Bug Fixes

dds-commander/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ target_link_libraries(${PROJECT_NAME}
3131
dds_user_defaults_lib
3232
dds_topology_lib
3333
dds_protocol_lib
34-
dds_misc_lib
3534
dds_intercom_lib
3635
dds_tools_lib
3736
Boost::boost
@@ -55,7 +54,7 @@ install(TARGETS ${PROJECT_NAME}
5554

5655
if(BUILD_TESTS)
5756
message(STATUS "Build ${PROJECT_NAME} unit tests - YES")
58-
add_subdirectory(tests)
57+
add_subdirectory(tests)
5958
else()
6059
message(STATUS "Build ${PROJECT_NAME} unit tests - NO")
6160
endif()

dds-misc-lib/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ target_link_libraries(${PROJECT_NAME}
6666
PUBLIC
6767
Boost::boost
6868
Boost::filesystem
69-
Boost::process
7069
)
7170

7271
target_include_directories(${PROJECT_NAME}

dds-user-defaults/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ target_link_libraries(${PROJECT_NAME}
3737

3838
set(target "dds_user_defaults_lib")
3939
add_library(${target} SHARED ${LIB_SOURCE_FILES} ${HEADER_FILES})
40-
add_library(${PROJECT_NAME}::${target_lib} ALIAS ${target})
40+
add_library(${PROJECT_NAME}::${target} ALIAS ${target})
4141

4242
target_compile_features(${target} PUBLIC cxx_std_${PROJECT_CXX_STANDARD})
4343
#
@@ -77,7 +77,7 @@ install(TARGETS ${PROJECT_NAME} ${target}
7777

7878
if(BUILD_TESTS)
7979
message(STATUS "Build ${PROJECT_NAME} unit tests - YES")
80-
add_subdirectory(tests)
80+
add_subdirectory(tests)
8181
else()
8282
message(STATUS "Build ${PROJECT_NAME} unit tests - NO")
8383
endif()

plugins/dds-submit-localhost/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ target_link_libraries(${PROJECT_NAME}
1212
dds_misc_lib
1313
dds_user_defaults_lib
1414
dds_intercom_lib
15-
dds_misc_lib
1615
Boost::boost
1716
Boost::program_options
1817
Boost::log
@@ -22,14 +21,14 @@ target_link_libraries(${PROJECT_NAME}
2221

2322
target_include_directories(${PROJECT_NAME}
2423
PUBLIC
25-
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR/src}>
24+
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/src>
2625
)
2726

2827
install(TARGETS ${PROJECT_NAME} DESTINATION "${PROJECT_INSTALL_PLUGINSDIR}/${PROJECT_NAME}")
2928

3029
#if(BUILD_TESTS)
3130
# message(STATUS "Build ${PROJECT_NAME} unit tests - YES")
32-
# add_subdirectory(tests)
31+
# add_subdirectory(tests)
3332
#else()
3433
# message(STATUS "Build ${PROJECT_NAME} unit tests - NO")
3534
#endif()

plugins/dds-submit-lsf/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ target_link_libraries(${PROJECT_NAME}
2323

2424
target_include_directories(${PROJECT_NAME}
2525
PUBLIC
26-
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR/src}>
26+
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/src>
2727
)
2828

2929
install(TARGETS ${PROJECT_NAME} DESTINATION "${PROJECT_INSTALL_PLUGINSDIR}/${PROJECT_NAME}")
@@ -36,7 +36,7 @@ install(PROGRAMS
3636

3737
#if(BUILD_TESTS)
3838
# message(STATUS "Build ${PROJECT_NAME} unit tests - YES")
39-
# add_subdirectory(tests)
39+
# add_subdirectory(tests)
4040
#else()
4141
# message(STATUS "Build ${PROJECT_NAME} unit tests - NO")
4242
#endif()

plugins/dds-submit-pbs/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ target_link_libraries(${PROJECT_NAME}
2323

2424
target_include_directories(${PROJECT_NAME}
2525
PUBLIC
26-
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR/src}>
26+
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/src>
2727
)
2828

2929
install(TARGETS ${PROJECT_NAME} DESTINATION "${PROJECT_INSTALL_PLUGINSDIR}/${PROJECT_NAME}")
@@ -36,7 +36,7 @@ install(PROGRAMS
3636

3737
#if(BUILD_TESTS)
3838
# message(STATUS "Build ${PROJECT_NAME} unit tests - YES")
39-
# add_subdirectory(tests)
39+
# add_subdirectory(tests)
4040
#else()
4141
# message(STATUS "Build ${PROJECT_NAME} unit tests - NO")
4242
#endif()

plugins/dds-submit-slurm/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ target_link_libraries(${PROJECT_NAME}
2424

2525
target_include_directories(${PROJECT_NAME}
2626
PUBLIC
27-
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR/src}>
27+
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/src>
2828
${Protobuf_INCLUDE_DIRS}
2929
)
3030

@@ -37,7 +37,7 @@ install(PROGRAMS
3737

3838
#if(BUILD_TESTS)
3939
# message(STATUS "Build ${PROJECT_NAME} unit tests - YES")
40-
# add_subdirectory(tests)
40+
# add_subdirectory(tests)
4141
#else()
4242
# message(STATUS "Build ${PROJECT_NAME} unit tests - NO")
4343
#endif()

0 commit comments

Comments
 (0)