From 44c557ff4b0daa0cf6dd0514a389b63426015551 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Sat, 6 Jan 2024 08:51:01 +0100 Subject: [PATCH] refactor: `add_units_module` renamed to `add_mp_units_module` and `target_name` parameter added --- src/CMakeLists.txt | 7 ++--- ...itsModule.cmake => AddMPUnitsModule.cmake} | 28 +++++++++---------- src/core/CMakeLists.txt | 4 +-- src/systems/CMakeLists.txt | 4 +-- 4 files changed, 20 insertions(+), 23 deletions(-) rename src/cmake/{AddUnitsModule.cmake => AddMPUnitsModule.cmake} (75%) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 51e484c9..fe4560c2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -33,7 +33,7 @@ message(STATUS "${projectPrefix}BUILD_CXX_MODULES: ${${projectPrefix}BUILD_CXX_M list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") -include(AddUnitsModule) +include(AddMPUnitsModule) include(GNUInstallDirs) if(${projectPrefix}BUILD_CXX_MODULES) @@ -50,10 +50,7 @@ add_subdirectory(core) add_subdirectory(systems) # project-wide wrapper -add_units_module( - mp-units DEPENDENCIES mp-units::core mp-units::systems - MODULE_INTERFACE_UNIT mp-units.cpp -) +add_mp_units_module(mp-units mp-units DEPENDENCIES mp-units::core mp-units::systems MODULE_INTERFACE_UNIT mp-units.cpp) # local build export(EXPORT mp-unitsTargets NAMESPACE mp-units::) diff --git a/src/cmake/AddUnitsModule.cmake b/src/cmake/AddMPUnitsModule.cmake similarity index 75% rename from src/cmake/AddUnitsModule.cmake rename to src/cmake/AddMPUnitsModule.cmake index 4e0ac2a4..642d2255 100644 --- a/src/cmake/AddUnitsModule.cmake +++ b/src/cmake/AddMPUnitsModule.cmake @@ -41,16 +41,16 @@ function(validate_arguments_exists module prefix) endfunction() # -# add_units_module(ModuleName -# DEPENDENCIES ... -# [HEADERS ...] -# MODULE_INTERFACE_UNIT ) +# add_mp_units_module(Name TargetName +# DEPENDENCIES ... +# [HEADERS ...] +# MODULE_INTERFACE_UNIT ) # -function(add_units_module name) +function(add_mp_units_module name target_name) # parse arguments set(oneValue MODULE_INTERFACE_UNIT) set(multiValues DEPENDENCIES HEADERS) - cmake_parse_arguments(PARSE_ARGV 1 ARG "" "${oneValue}" "${multiValues}") + cmake_parse_arguments(PARSE_ARGV 2 ARG "" "${oneValue}" "${multiValues}") # validate and process arguments validate_unparsed(${name} ARG) @@ -61,26 +61,26 @@ function(add_units_module name) endif() # define the target for a module - add_library(mp-units-${name} ${SCOPE} ${ARG_HEADERS}) - target_link_libraries(mp-units-${name} ${${projectPrefix}TARGET_SCOPE} ${ARG_DEPENDENCIES}) + add_library(${target_name} ${SCOPE} ${ARG_HEADERS}) + target_link_libraries(${target_name} ${${projectPrefix}TARGET_SCOPE} ${ARG_DEPENDENCIES}) if(ARG_HEADERS) target_include_directories( - mp-units-${name} ${unitsAsSystem} ${${projectPrefix}TARGET_SCOPE} + ${target_name} ${unitsAsSystem} ${${projectPrefix}TARGET_SCOPE} $ $ ) endif() - set_target_properties(mp-units-${name} PROPERTIES EXPORT_NAME ${name}) - add_library(mp-units::${name} ALIAS mp-units-${name}) + set_target_properties(${target_name} PROPERTIES EXPORT_NAME ${name}) + add_library(mp-units::${name} ALIAS ${target_name}) if(${projectPrefix}BUILD_CXX_MODULES) - target_sources(mp-units-${name} PUBLIC FILE_SET CXX_MODULES FILES ${ARG_MODULE_INTERFACE_UNIT}) - install(TARGETS mp-units-${name} + target_sources(${target_name} PUBLIC FILE_SET CXX_MODULES FILES ${ARG_MODULE_INTERFACE_UNIT}) + install(TARGETS ${target_name} EXPORT mp-unitsTargets FILE_SET CXX_MODULES DESTINATION ${CMAKE_INSTALL_LIBDIR}/miu ) else() - install(TARGETS mp-units-${name} EXPORT mp-unitsTargets) + install(TARGETS ${target_name} EXPORT mp-unitsTargets) endif() if(ARG_HEADERS) install(DIRECTORY include/mp-units TYPE INCLUDE) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 023bb245..1ed2cfec 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -28,8 +28,8 @@ if(NOT TARGET gsl::gsl-lite) endif() # core library definition -add_units_module( - core +add_mp_units_module( + core mp-units-core DEPENDENCIES gsl::gsl-lite HEADERS include/mp-units/bits/external/algorithm.h include/mp-units/bits/external/fixed_string.h diff --git a/src/systems/CMakeLists.txt b/src/systems/CMakeLists.txt index 95e20497..e061e4a0 100644 --- a/src/systems/CMakeLists.txt +++ b/src/systems/CMakeLists.txt @@ -22,8 +22,8 @@ cmake_minimum_required(VERSION 3.19) -add_units_module( - systems +add_mp_units_module( + systems mp-units-systems DEPENDENCIES mp-units::core HEADERS include/mp-units/systems/angular/angular.h include/mp-units/systems/angular/math.h