isle-portable/cmake/Findiniparser.cmake
Anonymous Maarten 196259c6c9
Some checks failed
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-i686 msystem:mingw32 name:msys2 mingw32 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[clang-tidy:true d3drm-from-wine:true dx5-libs:false msys-env:mingw-w64-x86_64 msystem:mingw64 name:msys2 mingw64 shell:msys2 {0} werror:true]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:false dx5-libs:true name:MSVC (32-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64_x86]) (push) Has been cancelled
Build / Current ${{ matrix.toolchain.name }} (map[d3drm-from-wine:true dx5-libs:false name:MSVC (64-bit) setup-cmake:true setup-msvc:true setup-ninja:true shell:sh vc-arch:amd64]) (push) Has been cancelled
Format / C++ (push) Has been cancelled
Naming / C++ (push) Has been cancelled
Parse cli arguments + log with SDL_Log (#30)
* cmake: copy DLL dependencies to output path

This also copies SDL3.dll from an external path when using system
dependencies.

* Only include <SDL3/SDL.h>

* isle: parse cli argument (--ini for custom ini path)

* Use SDL_CreateWIndowWithProperties to create SDL window

Less branching => Clearer code

* Log mxdirectx failure using SDL_Log + E_NOINTERFACE

* Fix d3drm32.def for msvc

* Define D3DRM_WINE when using d3drm from wine

* Ignore failed assertions from d3drm unimplemented functions

* inparser will/should create libiniparser.lib for static libraries and iniparser.lib for a shared library
2024-06-26 11:24:40 -07:00

73 lines
No EOL
2.7 KiB
CMake

if(WIN32)
set(__iniparser_shared_names "libiniparser.dll.a" "iniparser.lib")
set(__iniparser_static_names "libiniparser.a" "libiniparser.lib")
else()
if(APPLE)
set(__iniparser_shared_names "libiniparser.dylib")
else()
set(__iniparser_shared_names "libiniparser.so")
endif()
set(__iniparser_static_names "libiniparser.a")
endif()
find_path(iniparser_INCLUDE_PATH
NAMES "iniparser.h"
)
set(__iniparser_required_vars iniparser_INCLUDE_PATH)
set(__iniparser_shared_required FALSE)
set(__iniparser_static_required FALSE)
foreach(__comp ${iniparser_FIND_COMPONENTS})
if(__comp STREQUAL "shared")
set(__iniparser_shared_required TRUE)
find_library(iniparser_shared_LIBRARY
NAMES ${__iniparser_shared_names}
)
set(iniparser_shared_FOUND "${iniparser_shared_LIBRARY}")
if(iniparser_FIND_REQUIRED_shared)
list(APPEND __iniparser_required_vars iniparser_shared_LIBRARY)
endif()
endif()
if(__comp STREQUAL "static")
set(__iniparser_static_required TRUE)
find_library(iniparser_static_LIBRARY
NAMES ${__iniparser_static_names}
)
set(iniparser_static_FOUND "${iniparser_static_LIBRARY}")
if(iniparser_FIND_REQUIRED_static)
list(APPEND __iniparser_required_vars iniparser_static_LIBRARY)
endif()
endif()
endforeach()
if(NOT __iniparser_shared_required AND NOT __iniparser_static_required)
list(APPEND __iniparser_required_vars iniparser_shared_LIBRARY)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(iniparser
FOUND_VAR iniparser_FOUND
REQUIRED_VARS ${__iniparser_required_vars}
HANDLE_COMPONENTS
)
if(iniparser_FOUND)
if(NOT TARGET iniparser-shared AND iniparser_shared_LIBRARY)
if(WIN32)
# We don't know the name and location of the dll, so use an imported target
add_library(iniparser-shared UNKNOWN IMPORTED)
set_property(TARGET iniparser-shared PROPERTY IMPORTED_IMPLIB "${iniparser_shared_LIBRARY}")
else()
add_library(iniparser-shared SHARED IMPORTED)
set_property(TARGET iniparser-shared PROPERTY IMPORTED_LOCATION "${iniparser_shared_LIBRARY}")
endif()
set_property(TARGET iniparser-shared PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${iniparser_INCLUDE_PATH}")
endif()
if(NOT TARGET iniparser-static AND iniparser_static_LIBRARY)
add_library(iniparser-static STATIC IMPORTED)
set_property(TARGET iniparser-static PROPERTY IMPORTED_LOCATION "${iniparser_static_LIBRARY}")
set_property(TARGET iniparser-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${iniparser_INCLUDE_PATH}")
endif()
endif()