mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-24 07:55:35 +08:00
cmake-ify for Linux. Remove use of printf.
This commit is contained in:
committed by
Chris Collins
parent
ed59e03a9a
commit
5e236443ac
44
CMakeLists.txt
Normal file
44
CMakeLists.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
cmake_minimum_required(VERSION 3.0)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules" ${CMAKE_MODULE_PATH})
|
||||
|
||||
find_package(XPSDK REQUIRED)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
add_definitions(-DLIN=1)
|
||||
#set(XPMP_PLATFORM_SOURCES
|
||||
# src/PlatformUtils.lin.cpp)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
add_definitions(-DIBM=1)
|
||||
#set(XPMP_PLATFORM_SOURCES
|
||||
# src/PlatformUtils.win.cpp)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
add_definitions(-DAPL=1)
|
||||
#set(XPMP_PLATFORM_SOURCES
|
||||
# src/PlatformUtils.mac.cpp)
|
||||
endif()
|
||||
|
||||
add_definitions(-DXPLM200=1 -DXPLM210=1)
|
||||
|
||||
add_library(xplanemp
|
||||
${XPMP_PLATFORM_SOURCES}
|
||||
src/BitmapUtils.cpp
|
||||
src/TexUtils.cpp
|
||||
src/XObjDefs.cpp
|
||||
src/XObjReadWrite.cpp
|
||||
src/XOGLUtils.cpp
|
||||
src/XPCAircraft.cpp
|
||||
src/XPMPMultiplayer.cpp
|
||||
src/XPMPMultiplayerCSL.cpp
|
||||
src/XPMPMultiplayerObj8.cpp
|
||||
src/XPMPMultiplayerObj.cpp
|
||||
src/XPMPMultiplayerVars.cpp
|
||||
src/XPMPPlaneRenderer.cpp
|
||||
src/XUtils.cpp)
|
||||
target_include_directories(xplanemp
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||
${XPSDK_XPLM_INCLUDE_DIRS}
|
||||
PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||
target_link_libraries(xplanemp
|
||||
PUBLIC ${XPSDK_XPLM_LIBRARIES})
|
||||
41
cmake/Modules/FindXPSDK.cmake
Normal file
41
cmake/Modules/FindXPSDK.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
find_path(XPSDK_DIR
|
||||
NAMES
|
||||
CHeaders/XPLM/XPLMDefs.h
|
||||
CHeaders/Wrappers/XPCDisplay.h)
|
||||
if(XPSDK_DIR)
|
||||
set(XPSDK_FOUND)
|
||||
if(CMAKE_SIZE_OF_VOID_P EQUAL 8)
|
||||
set(WSIZE "_64")
|
||||
endif()
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
set(XPSDK_ARCH "Lin")
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
set(XPSDK_ARCH "Win")
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
set(XPSDK_ARCH "Mac")
|
||||
endif()
|
||||
|
||||
set(XPSDK_INCLUDE_DIRS ${XPSDK_DIR}/CHeaders)
|
||||
set(XPSDK_LIBRARY_DIRS ${XPSDK_DIR}/Libraries/${XPARCH})
|
||||
|
||||
# linux doesn't have linking stubs for XPLM/XPWidgets!
|
||||
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
set(XPSDK_XPLM_LIBRARIES ${XPSDK_LIBRARY_DIRS}/XPLM${WSIZE}.lib)
|
||||
set(XPSDK_XPWIDGETS_LIBRARIES ${XPSDK_LIBRARY_DIRS}/XPWidgets${WSIZE}.lib)
|
||||
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
||||
set(XPSDK_XPLM_LIBRARIES ${XPSDK_LIBRARY_DIRS}/XPLM.framework)
|
||||
set(XPSDK_XPWIDGETS_LIBRARIES ${XPSDK_LIBRARY_DIRS}/XPWidgets.framework)
|
||||
endif()
|
||||
|
||||
set(XPSDK_XPLM_INCLUDE_DIRS ${XPSDK_DIR}/CHeaders/XPLM)
|
||||
set(XPSDK_XPWIDGETS_INCLUDE_DIRS ${XPSDK_DIR}/CHeaders/Widgets)
|
||||
set(XPSDK_WRAPPERS_INCLUDE_DIRS ${XPSDK_DIR}/CHeaders/Wrappers)
|
||||
file(GLOB XPSDK_WRAPPERS_SOURCES ${XPSDK_DIR}/CHeaders/Wrappers/*.cpp)
|
||||
else()
|
||||
set(XPSDK_FOUND)
|
||||
set(XPSDK_NOT_FOUND_MESSAGE "Could not find the XPlane Plugin SDK - please set XPSDK_DIR to the top directory of the SDK")
|
||||
if(XPSDK_FIND_REQUIRED)
|
||||
message(SEND_ERROR "Couldn't find Required XPlane Plugin SDK")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -31,7 +31,8 @@
|
||||
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <math.h>
|
||||
#include <cmath>
|
||||
#include <cstdio>
|
||||
|
||||
#include "XPLMGraphics.h"
|
||||
#include "XPLMUtilities.h"
|
||||
@@ -345,8 +346,12 @@ int OBJ_LoadModel(const char * inFilePath)
|
||||
tex_path += sObjects.back().obj.texture;
|
||||
tex_path += ".png";
|
||||
sObjects.back().texnum = OBJ_LoadTexture(tex_path.c_str(), false);
|
||||
if(sObjects.back().texnum == 0)
|
||||
printf("WARNING: %s failed to load for %s.\n", tex_path.c_str(),inFilePath);
|
||||
if(sObjects.back().texnum == 0) {
|
||||
char debug[500];
|
||||
snprintf(debug, 500, "WARNING: %s failed to load for %s.\n", tex_path.c_str(),inFilePath);
|
||||
debug[499] = '\0';
|
||||
XPLMDebugString(debug);
|
||||
}
|
||||
|
||||
tex_path = path;
|
||||
p = tex_path.find_last_of("\\:/");//XPLMGetDirectorySeparator());
|
||||
|
||||
Reference in New Issue
Block a user