Commit cfb92799 authored by jan.koester's avatar jan.koester
Browse files

urgent fix

parent c6b9fb77
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ project(libconfplus)

set(WINDOWS_EXPORT_ALL_SYMBOLS ON)

list(APPEND CMAKE_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" PARENT_SCOPE)
set(CMAKE_MODULE_PATH ${CMAKE_INCLUDE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
    set(CMAKE_CXX_FLAGS

cmake/FindINIPARSER.cmake

deleted100644 → 0
+0 −93
Original line number Diff line number Diff line
# =====================================================================
# FindINIPARSER.cmake
# Prüft auf INIPARSER-Header/Bibliothek und definiert das Target iniparser::iniparser.
# =====================================================================

include(FindPackageHandleStandardArgs)

# -----------------------------------------------------------------------------
# 0. Definieren von Hilfsvariablen
# -----------------------------------------------------------------------------
set(INIPARSER_FOUND FALSE)
if (WIN32)
    set(_INIPARSER_LIB_NAME "iniparser-static")
    set(_INIPARSER_LIB_NAME_DEBUG "iniparser-static-d")
else()
    set(_INIPARSER_LIB_NAME "iniparser")
    set(_INIPARSER_LIB_NAME_DEBUG "iniparser")
endif()


# -----------------------------------------------------------------------------
# 1. Hauptsuche 
# -----------------------------------------------------------------------------

# Sucht den Pfad zum Header (iniparser.h)
# WICHTIG: Wir suchen nach der Datei selbst, aber speichern den PFAD zum VERZEICHNIS,
# das den Header enthält (z.B. C:/.../install/include).
find_path(INIPARSER_INCLUDE_DIR
	NAMES iniparser/iniparser.h iniparser.h
	PATH_SUFFIXES include
)

# Sucht nach der Release-Version
find_library(INIPARSER_LIBRARY
	NAMES ${_INIPARSER_LIB_NAME}
)

# Sucht nach der Debug-Version
find_library(INIPARSER_LIBRARY_DEBUG
	NAMES ${_INIPARSER_LIB_NAME_DEBUG}
)


# -----------------------------------------------------------------------------
# 2. Fehlerbehandlung und Setzen der FOUND-Variable
# -----------------------------------------------------------------------------

find_package_handle_standard_args(INIPARSER
    FOUND_VAR           INIPARSER_FOUND
    REQUIRED_VARS       INIPARSER_INCLUDE_DIR
                        INIPARSER_LIBRARY
    FAIL_MESSAGE        "Could NOT find INIPARSER static library or headers."
)

# -----------------------------------------------------------------------------
# 3. Definiere Imported Static Target (Wenn gefunden)
# -----------------------------------------------------------------------------

if(INIPARSER_FOUND)
    
    # NEU: Überprüfe, ob der Include-Pfad das 'iniparser'-Verzeichnis bereits enthält.
    # Da der Include-Pfad im Quellcode "iniparser/iniparser.h" ist, 
    # muss der Compiler nur den Pfad bis zum "include"-Ordner kennen.
    # INIPARSER_INCLUDE_DIR sollte C:/.../install/include sein.
    
    set(_INIPARSER_INTERFACE_INCLUDES "${INIPARSER_INCLUDE_DIR}")

    # Fix: Wenn der Header im include-Ordner in einem Unterordner liegt (install/include/iniparser),
    # müssen wir iniparser/iniparser.h verwenden. Das ist hier der Fall, also ist 
    # INIPARSER_INCLUDE_DIR = C:/.../install/include korrekt.

    
    add_library(iniparser::iniparser SHARED IMPORTED)
    
    # 2. Setze die öffentlichen Header
    set_target_properties(iniparser::iniparser PROPERTIES
        INTERFACE_INCLUDE_DIRECTORIES "${_INIPARSER_INTERFACE_INCLUDES}"
        IMPORTED_CONFIGURATIONS "Release;Debug;RelWithDebInfo"
        # Die Debug-Bibliothek wird in den Build-Typen RelWithDebInfo und Debug verwendet
        IMPORTED_LOCATION_RELEASE "${INIPARSER_LIBRARY}"
        IMPORTED_LOCATION_RELWITHDEBINFO "${INIPARSER_LIBRARY}"
        IMPORTED_LOCATION_DEBUG "${INIPARSER_LIBRARY_DEBUG}"
    )

    add_library(iniparser::iniparser ALIAS iniparser::iniparser)
endif()

# Verstecke interne Variablen
mark_as_advanced(
    INIPARSER_INCLUDE_DIR
    INIPARSER_LIBRARY
    INIPARSER_LIBRARY_DEBUG
)
 No newline at end of file
+1 −1

File changed.

Contains only whitespace changes.