79627305

Date: 2025-05-18 09:33:17
Score: 0.5
Natty:
Report link

It turned out I need to compile all modules as separate library and link that library to executables. With such modifications i don't get errors as above.

function(get_file_range output_var)
    set(result "")
    foreach(path IN LISTS ARGN)
        file(GLOB_RECURSE temp CONFIGURE_DEPENDS ${path})
        list(APPEND result ${temp})
    endforeach()
    set(${output_var} ${result} PARENT_SCOPE)
endfunction()
# =============================================
# Build modules
# =============================================
get_file_range(ISPA_MODULES
        ${CONVERTERS_DIR}/*.cppm
        ${SRC_DIR}/*.cppm
)
add_library(ispa-modules STATIC)
target_sources(ispa-modules
        PUBLIC
        FILE_SET cxx_modules TYPE CXX_MODULES FILES
        ${ISPA_MODULES}
)
target_include_directories(ispa-modules PRIVATE ${INCLUDE_DIRS})

# =============================================
# Link Dependencies
# =============================================
target_link_libraries(ispa PRIVATE
    ispa-converter-cpp
    ispa-modules
)
target_link_libraries(ispa-converter-cpp PRIVATE
        ispa-converter
        ispa-modules
)
Reasons:
  • Blacklisted phrase (0.5): I need
  • Long answer (-1):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Sinfolke