CMakeFiles for XSB

This commit is contained in:
Chris Collins
2015-06-24 21:23:29 +10:00
committed by Chris Collins
parent 5e236443ac
commit 7ae92c47a4
2 changed files with 17 additions and 12 deletions

View File

@@ -1,10 +1,11 @@
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)
find_package(PNG)
#set(XPMP_PLATFORM_SOURCES
# src/PlatformUtils.lin.cpp)
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
@@ -16,6 +17,9 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
#set(XPMP_PLATFORM_SOURCES
# src/PlatformUtils.mac.cpp)
endif()
if(PNG_FOUND)
add_definitions(-DBITMAP_USE_PNG=1)
endif()
add_definitions(-DXPLM200=1 -DXPLM210=1)
@@ -36,9 +40,10 @@ add_library(xplanemp
src/XUtils.cpp)
target_include_directories(xplanemp
PUBLIC
${XPSDK_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}/include
${XPSDK_XPLM_INCLUDE_DIRS}
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src)
${CMAKE_CURRENT_SOURCE_DIR}/src
${PNG_INCLUDE_DIRS})
target_link_libraries(xplanemp
PUBLIC ${XPSDK_XPLM_LIBRARIES})
PUBLIC ${XPSDK_XPLM_LIBRARIES} ${PNG_LIBRARIES})
set_target_properties(xplanemp PROPERTIES POSITION_INDEPENDENT_CODE ON)

View File

@@ -3,20 +3,24 @@ find_path(XPSDK_DIR
CHeaders/XPLM/XPLMDefs.h
CHeaders/Wrappers/XPCDisplay.h)
if(XPSDK_DIR)
set(XPSDK_FOUND)
set(XPSDK_FOUND TRUE)
if(CMAKE_SIZE_OF_VOID_P EQUAL 8)
set(WSIZE "_64")
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Linux")
set(XPSDK_ARCH "Lin")
set(XPSDK_DEFINITIONS "-DLIN=1")
elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
set(XPSDK_ARCH "Win")
set(XPSDK_DEFINITIONS "-DIBM=1")
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(XPSDK_ARCH "Mac")
set(XPSDK_DEFINITIONS "-DAPL=1")
endif()
set(XPSDK_INCLUDE_DIRS ${XPSDK_DIR}/CHeaders)
set(XPSDK_LIBRARY_DIRS ${XPSDK_DIR}/Libraries/${XPARCH})
set(XPSDK_INCLUDE_DIRS ${XPSDK_DIR}/CHeaders/XPLM ${XPSDK_DIR}/CHeaders/Widgets ${XPSDK_DIR}/CHeaders/Wrappers)
set(XPSDK_LIBRARY_DIRS ${XPSDK_DIR}/Libraries/${XPSDK_ARCH})
file(GLOB XPSDK_WRAPPERS_SOURCES ${XPSDK_DIR}/CHeaders/Wrappers/*.cpp)
# linux doesn't have linking stubs for XPLM/XPWidgets!
if(CMAKE_SYSTEM_NAME MATCHES "Windows")
@@ -27,10 +31,6 @@ if(XPSDK_DIR)
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")