Procházet zdrojové kódy

Enable DRM platform cross compilation support (#1717)

* Log a warning if chdir failed, use agnostic CHDIR instead of chdir

* Only include libdrm directory explicitly when not cross compiling
pull/1725/head
Jon před 4 roky
odevzdal GitHub
rodič
revize
c74230a9ea
V databázi nebyl nalezen žádný známý klíč pro tento podpis ID GPG klíče: 4AEE18F83AFDEB23
2 změnil soubory, kde provedl 13 přidání a 4 odebrání
  1. +4
    -2
      cmake/LibraryConfigurations.cmake
  2. +9
    -2
      src/models.c

+ 4
- 2
cmake/LibraryConfigurations.cmake Zobrazit soubor

@ -73,7 +73,9 @@ elseif (${PLATFORM} MATCHES "DRM")
find_library(DRM drm)
find_library(GBM gbm)
include_directories(/usr/include/libdrm)
if (NOT CMAKE_CROSSCOMPILING)
include_directories(/usr/include/libdrm)
endif ()
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} pthread m dl)
endif ()
@ -102,4 +104,4 @@ set(LIBS_PRIVATE ${LIBS_PRIVATE} ${OPENAL_LIBRARY})
if (${PLATFORM} MATCHES "Desktop")
set(LIBS_PRIVATE ${LIBS_PRIVATE} glfw)
endif ()
endif ()

+ 9
- 2
src/models.c Zobrazit soubor

@ -3168,7 +3168,11 @@ static Model LoadOBJ(const char *fileName)
unsigned int dataSize = (unsigned int)strlen(fileData);
char currentDir[1024] = { 0 };
strcpy(currentDir, GetWorkingDirectory());
chdir(GetDirectoryPath(fileName));
const char *workingDir = GetDirectoryPath(fileName);
if (CHDIR(workingDir) != 0)
{
TRACELOG(LOG_WARNING, "MODEL: [%s] Failed to change working directory", workingDir);
}
unsigned int flags = TINYOBJ_FLAG_TRIANGULATE;
int ret = tinyobj_parse_obj(&attrib, &meshes, &meshCount, &materials, &materialCount, fileData, dataSize, flags);
@ -3306,7 +3310,10 @@ static Model LoadOBJ(const char *fileName)
RL_FREE(vnCount);
RL_FREE(faceCount);
chdir(currentDir);
if (CHDIR(currentDir) != 0)
{
TRACELOG(LOG_WARNING, "MODEL: [%s] Failed to change working directory", currentDir);
}
}
return model;

Načítá se…
Zrušit
Uložit