@@ -22,12 +22,12 @@ endfunction()
2222#
2323# @param NAME
2424# @param NAMESPACE
25- # @param INTERFACE_HEADERS
26- # @param IMPLEMENTATION_SOURCES
27- # @param INTERFACE_LIBRARIES
28- # @param LOCAL_DEPENDENCIES
25+ # @param PUBLIC_HEADERS
26+ # @param PRIVATE_SOURCES
27+ # @param PUBLIC_LINK_LIBRARIES
28+ # @param PRIVATE_LINK_LIBRARIES
2929# @parms TESTS_SOURCES
30- # @param [INTERFACE_BUILD_INCLUDE_DIR ="${PROJECT_SOURCE_DIR}/src"] The list of include paths for
30+ # @param [BUILD_INCLUDE_DIR ="${PROJECT_SOURCE_DIR}/src"] The list of include paths for
3131# building the library and for external projects that builds `ystdlib-cpp` as a CMAKE subproject
3232# via the add_subdirectory() function.
3333function (cpp_library)
@@ -37,39 +37,39 @@ function(cpp_library)
3737 NAMESPACE
3838 )
3939 set (multiValueArgs
40- INTERFACE_HEADERS
41- IMPLEMENTATION_SOURCES
42- INTERFACE_LIBRARIES
43- LOCAL_DEPENDENCIES
40+ PUBLIC_HEADERS
41+ PRIVATE_SOURCES
42+ PUBLIC_LINK_LIBRARIES
43+ PRIVATE_LINK_LIBRARIES
4444 TESTS_SOURCES
45- INTERFACE_BUILD_INCLUDE_DIR
45+ BUILD_INCLUDE_DIR
4646 )
4747 cmake_parse_arguments (arg_cpp_lib "${options} " "${oneValueArgs} " "${multiValueArgs} " ${ARGN} )
4848
4949 set (_ALIAS_TARGET_NAME "${arg_cpp_lib_NAMESPACE} ::${arg_cpp_lib_NAME} " )
5050
5151 # TODO: Turn this into a function for handling other optional params that have default values.
52- if ("INTERFACE_BUILD_INCLUDE_DIR " IN_LIST arg_cpp_lib_KEYWORDS_MISSING_VALUES)
52+ if ("BUILD_INCLUDE_DIR " IN_LIST arg_cpp_lib_KEYWORDS_MISSING_VALUES)
5353 message (FATAL_ERROR "Missing build interface list for ${_ALIAS_TARGET_NAME} ." )
54- elseif (NOT DEFINED arg_cpp_lib_INTERFACE_BUILD_INCLUDE_DIR )
55- set (arg_cpp_lib_INTERFACE_BUILD_INCLUDE_DIR "${PROJECT_SOURCE_DIR} /src" )
54+ elseif (NOT DEFINED arg_cpp_lib_BUILD_INCLUDE_DIR )
55+ set (arg_cpp_lib_BUILD_INCLUDE_DIR "${PROJECT_SOURCE_DIR} /src" )
5656 endif ()
5757
58- check_if_header_only(arg_cpp_lib_INTERFACE_HEADERS _IS_VALID_INTERFACE _INVALID_HEADER_FILE)
58+ check_if_header_only(arg_cpp_lib_PUBLIC_HEADERS _IS_VALID_INTERFACE _INVALID_HEADER_FILE)
5959 if (NOT _IS_VALID_INTERFACE)
6060 message (
6161 FATAL_ERROR
6262 "Invalid interface header file ${_INVALID_HEADER_FILE} for ${_ALIAS_TARGET_NAME} ."
6363 )
6464 endif ()
6565
66- check_if_header_only(arg_cpp_lib_IMPLEMENTATION_SOURCES _IS_INTERFACE_LIB _)
66+ check_if_header_only(arg_cpp_lib_PRIVATE_SOURCES _IS_INTERFACE_LIB _)
6767 if (_IS_INTERFACE_LIB)
6868 add_library (${arg_cpp_lib_NAME} INTERFACE )
6969 target_include_directories (
7070 ${arg_cpp_lib_NAME}
7171 INTERFACE
72- "$<BUILD_INTERFACE:${arg_cpp_lib_INTERFACE_BUILD_INCLUDE_DIR } >"
72+ "$<BUILD_INTERFACE:${arg_cpp_lib_BUILD_INCLUDE_DIR } >"
7373 )
7474 target_compile_features (${arg_cpp_lib_NAME} INTERFACE cxx_std_20)
7575 else ()
@@ -79,23 +79,23 @@ function(cpp_library)
7979 target_sources (
8080 ${arg_cpp_lib_NAME}
8181 PRIVATE
82- ${arg_cpp_lib_INTERFACE_HEADERS }
83- ${arg_cpp_lib_IMPLEMENTATION_SOURCES }
82+ ${arg_cpp_lib_PUBLIC_HEADERS }
83+ ${arg_cpp_lib_PRIVATE_SOURCES }
8484 )
8585 target_include_directories (
8686 ${arg_cpp_lib_NAME}
8787 PUBLIC
88- "$<BUILD_INTERFACE:${arg_cpp_lib_INTERFACE_BUILD_INCLUDE_DIR } >"
88+ "$<BUILD_INTERFACE:${arg_cpp_lib_BUILD_INCLUDE_DIR } >"
8989 )
9090 target_compile_features (${arg_cpp_lib_NAME} PUBLIC cxx_std_20)
9191 endif ()
9292
9393 target_link_libraries (
9494 ${arg_cpp_lib_NAME}
9595 PUBLIC
96- ${arg_cpp_lib_INTERFACE_LIBRARIES }
96+ ${arg_cpp_lib_PUBLIC_LINK_LIBRARIES }
9797 PRIVATE
98- ${arg_cpp_lib_LOCAL_DEPENDENCIES }
98+ ${arg_cpp_lib_PRIVATE_LINK_LIBRARIES }
9999 )
100100 add_library (${_ALIAS_TARGET_NAME} ALIAS ${arg_cpp_lib_NAME} )
101101
0 commit comments