Commit 119f25b8 authored by jan.koester's avatar jan.koester
Browse files

test

parent dd41f25a
Loading
Loading
Loading
Loading
+21 −23
Original line number Diff line number Diff line
@@ -2,23 +2,26 @@ include_directories(
    ${CMAKE_SOURCE_DIR}/src
)

# --- YAML BACKEND (Corrected) ---
find_package(YAML REQUIRED)

if(${YAML_FOUND}) 
# The conditional check needs a standard CMake variable check, not a dereference.
if(YAML_FOUND) 
    set( yamlconfsrc "yaml/yamlconf.cpp")
    add_library(yamlconf SHARED ${yamlconfsrc})

    add_dependencies(yamlconf confplus)
    # REMOVED: add_dependencies(yamlconf confplus) -> Linking handles this.

    set_target_properties(yamlconf PROPERTIES PREFIX "")
    set_target_properties(yamlconf PROPERTIES OUTPUT_NAME "yaml.cfg")
    set_target_properties(yamlconf PROPERTIES PREFIX "" OUTPUT_NAME "yaml.cfg")

    target_include_directories(yamlconf PRIVATE ${YAML_INCLUDE_DIR}) 
    # REMOVED: target_include_directories(yamlconf PRIVATE ${YAML_INCLUDE_DIR}) 
    # The modern target 'YAML::YAML' handles the includes automatically.

    if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
        target_link_libraries(yamlconf PUBLIC confplus PRIVATE YAML::YAML kernel32.lib ) 
        # Ensure 'confplus' is linked as PRIVATE unless its interface is exposed
        target_link_libraries(yamlconf PRIVATE confplus YAML::YAML kernel32.lib) 
    else()
        target_link_libraries(yamlconf PUBLIC confplus PRIVATE YAML::YAML dl) 
        target_link_libraries(yamlconf PRIVATE confplus YAML::YAML dl) 
    endif()
    
    install(TARGETS yamlconf
@@ -27,28 +30,23 @@ if(${YAML_FOUND})
    )
endif()


# --- INIPARSER BACKEND (Corrected) ---
find_package(INIPARSER)

if(${INIPARSER_FOUND})
    set( inisrc
        ini/ini.cpp
    )

if(INIPARSER_FOUND)
    set( inisrc ini/ini.cpp)
    add_library(iniconf SHARED ${inisrc})

    set_target_properties(iniconf PROPERTIES PREFIX "")
    set_target_properties(iniconf PROPERTIES OUTPUT_NAME "ini.cfg")
    set_target_properties(iniconf PROPERTIES PREFIX "" OUTPUT_NAME "ini.cfg")

    target_include_directories(iniconf 
        PRIVATE 
        ${INIPARSER_INCLUDE_DIRS}
    )
    # Using modern target (INIPARSER::INIPARSER) for linking automatically pulls in includes.
    # The classic variable ${INIPARSER_INCLUDE_DIRS} is deprecated/obsolete when using modern targets.
    # We remove target_include_directories and rely on INIPARSER::INIPARSER.
    
    if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
        target_link_libraries(iniconf PUBLIC confplus PRIVATE INIPARSER::INIPARSER kernel32.lib)
        target_link_libraries(iniconf PRIVATE confplus INIPARSER::INIPARSER kernel32.lib)
    else()
        target_link_libraries(iniconf PUBLIC confplus PRIVATE INIPARSER::INIPARSER dl)
        target_link_libraries(iniconf PRIVATE confplus INIPARSER::INIPARSER dl)
    endif()

    install(TARGETS iniconf