Commit 17556f5a authored by jan.koester's avatar jan.koester
Browse files

test

parent 61ab4b38
Loading
Loading
Loading
Loading
+42 −0
Original line number Diff line number Diff line
# FindINIPARSER.cmake

# 1. Search for the INIPARSER header file (iniparser.h)
# Looks in standard locations and CMAKE_PREFIX_PATH/INIPARSER_ROOT hints.
find_path(INIPARSER_INCLUDE_DIR
    NAMES iniparser.h
    PATHS /usr/local /usr
    HINTS ENV{INIPARSER_ROOT} ${CMAKE_PREFIX_PATH}
    PATH_SUFFIXES include
)

# 2. Search for the library file (libiniparser.a/lib, iniparser.lib)
# Note: The library name is often 'iniparser' or 'iniparser'
find_library(INIPARSER_LIBRARY
    NAMES iniparser
    PATHS /usr/local /usr
    HINTS ENV{INIPARSER_ROOT} ${CMAKE_PREFIX_PATH}
    PATH_SUFFIXES lib
)

# 3. Handle standard arguments (set INIPARSER_FOUND)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(INIPARSER
    DEFAULT_MSG
    INIPARSER_LIBRARY
    INIPARSER_INCLUDE_DIR
)

# 4. Create the modern IMPORTED target (if found)
if(INIPARSER_FOUND AND NOT TARGET INIPARSER::INIPARSER)
    # The library is typically static, so we use INTERFACE/IMPORTED.
    add_library(INIPARSER::INIPARSER INTERFACE IMPORTED)
    
    # Add include directories and library path to the target properties
    set_target_properties(INIPARSER::INIPARSER PROPERTIES
        INTERFACE_INCLUDE_DIRECTORIES "${INIPARSER_INCLUDE_DIR}"
        INTERFACE_LINK_LIBRARIES "${INIPARSER_LIBRARY}"
    )
endif()

# 5. Mark variables as advanced
mark_as_advanced(INIPARSER_LIBRARY INIPARSER_INCLUDE_DIR)
 No newline at end of file