diff options
| author | Jon <[email protected]> | 2021-04-09 10:57:14 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-04-09 19:57:14 +0200 |
| commit | c74230a9ea2f38517b9072b5ee968cc3d4167d65 (patch) | |
| tree | 00106f412c49c963711bfb6d6e743be0e32d6847 | |
| parent | d17c519f88ff33084772263f4585a96051c45cfa (diff) | |
| download | raylib-c74230a9ea2f38517b9072b5ee968cc3d4167d65.tar.gz raylib-c74230a9ea2f38517b9072b5ee968cc3d4167d65.zip | |
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
| -rw-r--r-- | cmake/LibraryConfigurations.cmake | 6 | ||||
| -rw-r--r-- | src/models.c | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/cmake/LibraryConfigurations.cmake b/cmake/LibraryConfigurations.cmake index 1b1961b9..2d4767a9 100644 --- a/cmake/LibraryConfigurations.cmake +++ b/cmake/LibraryConfigurations.cmake @@ -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 ()
\ No newline at end of file +endif () diff --git a/src/models.c b/src/models.c index 5f59f535..6c9a75ba 100644 --- a/src/models.c +++ b/src/models.c @@ -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; |
