first commit
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
find_package(PNG QUIET)
|
||||
find_package(OpenGL QUIET)
|
||||
find_package(Freetype QUIET)
|
||||
|
||||
find_package(GLUT QUIET)
|
||||
find_package(GLEW QUIET)
|
||||
|
||||
if(NOT ${GLUT_FOUND})
|
||||
message(WARNING "GLUT NOT found, can't build FGPanel")
|
||||
set(WITH_FGPANEL 0)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT ${GLEW_FOUND})
|
||||
message(WARNING "GLEW NOT found, can't build FGPanel")
|
||||
set(WITH_FGPANEL 0)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if((NOT PNG_FOUND) OR (NOT OPENGL_FOUND) OR (NOT FREETYPE_FOUND))
|
||||
message(WARNING "FGPanel enabled, but some dependencies are missing")
|
||||
message(STATUS "libPNG: ${PNG_FOUND}")
|
||||
message(STATUS "OpenGL: ${OPENGL_FOUND}")
|
||||
message(STATUS "Freetype: ${FREETYPE_FOUND}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
find_path(BCMHOST_INCLUDE_DIR
|
||||
NAMES bcm_host.h
|
||||
PATHS /opt/vc/include
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
set(TARGET_SOURCES
|
||||
main.cxx
|
||||
ApplicationProperties.hxx
|
||||
ApplicationProperties.cxx
|
||||
FGCroppedTexture.hxx
|
||||
FGCroppedTexture.cxx
|
||||
FGDummyTextureLoader.hxx
|
||||
FGDummyTextureLoader.cxx
|
||||
FGFontCache.cxx
|
||||
FGFontCache.hxx
|
||||
FGGLApplication.cxx
|
||||
FGGLApplication.hxx
|
||||
FGGroupLayer.cxx
|
||||
FGGroupLayer.hxx
|
||||
FGInstrumentLayer.cxx
|
||||
FGInstrumentLayer.hxx
|
||||
FGLayeredInstrument.cxx
|
||||
FGLayeredInstrument.hxx
|
||||
FGPanel.cxx
|
||||
FGPanel.hxx
|
||||
FGPanelApplication.cxx
|
||||
FGPanelApplication.hxx
|
||||
FGPanelInstrument.cxx
|
||||
FGPanelInstrument.hxx
|
||||
FGPanelProtocol.cxx
|
||||
FGPanelProtocol.hxx
|
||||
FGPanelTransformation.cxx
|
||||
FGPanelTransformation.hxx
|
||||
FGPNGTextureLoader.cxx
|
||||
FGPNGTextureLoader.hxx
|
||||
FGRGBTextureLoader.cxx
|
||||
FGRGBTextureLoader.hxx
|
||||
FGSwitchLayer.cxx
|
||||
FGSwitchLayer.hxx
|
||||
FGTextLayer.cxx
|
||||
FGTextLayer.hxx
|
||||
FGTexturedLayer.cxx
|
||||
FGTexturedLayer.hxx
|
||||
panel_io.cxx
|
||||
panel_io.hxx
|
||||
GL_utils.cxx
|
||||
GL_utils.hxx
|
||||
)
|
||||
|
||||
add_executable(fgpanel ${TARGET_SOURCES})
|
||||
|
||||
target_link_libraries(fgpanel
|
||||
SimGearCore
|
||||
${PNG_LIBRARIES}
|
||||
${FREETYPE_LIBRARIES}
|
||||
OpenGL::GL
|
||||
${GLUT_LIBRARIES}
|
||||
${GLEW_LIBRARIES}
|
||||
)
|
||||
|
||||
target_include_directories(fgpanel PUBLIC
|
||||
${FREETYPE_INCLUDE_DIRS}
|
||||
${PNG_INCLUDE_DIR}
|
||||
${GLEW_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
if(MSVC)
|
||||
target_compile_definitions(fgpanel PUBLIC
|
||||
-DFREEGLUT_LIB_PRAGMAS=0
|
||||
)
|
||||
endif(MSVC)
|
||||
|
||||
if(BCMHOST_INCLUDE_DIR)
|
||||
message(STATUS "found Raspberry Pi")
|
||||
|
||||
add_executable(fgpanel-egl ${TARGET_SOURCES}
|
||||
GLES_utils.cxx
|
||||
GLES_utils.hxx
|
||||
)
|
||||
target_include_directories(fgpanel-egl PUBLIC
|
||||
${FREETYPE_INCLUDE_DIRS}
|
||||
${PNG_INCLUDE_DIR}
|
||||
${BCMHOST_INCLUDE_DIR}
|
||||
${BCMHOST_INCLUDE_DIR}/interface/vcos/pthreads
|
||||
${BCMHOST_INCLUDE_DIR}/interface/vmcs_host/linux
|
||||
)
|
||||
|
||||
target_link_libraries(fgpanel-egl
|
||||
SimGearCore
|
||||
${PNG_LIBRARIES}
|
||||
${FREETYPE_LIBRARIES}
|
||||
-lbrcmGLESv2 -lbrcmEGL -lm -lbcm_host -L/opt/vc/lib
|
||||
)
|
||||
|
||||
target_compile_definitions(fgpanel-egl PUBLIC
|
||||
-D_GLES2 -D_RPI
|
||||
)
|
||||
target_compile_definitions(fgpanel PUBLIC
|
||||
-D_RPI
|
||||
)
|
||||
message(STATUS "FGPanel (Raspberry Pi) : ENABLED")
|
||||
install(TARGETS fgpanel-egl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
else(BCMHOST_INCLUDE_DIR)
|
||||
message(STATUS "FGPanel (Raspberry Pi) : DISABLED")
|
||||
endif(BCMHOST_INCLUDE_DIR)
|
||||
|
||||
|
||||
|
||||
|
||||
if(WITH_FGPANEL)
|
||||
message(STATUS "FGPanel : ENABLED")
|
||||
install(TARGETS fgpanel RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
else(WITH_FGPANEL)
|
||||
message(WARNING "FGPanel : DISABLED")
|
||||
endif(WITH_FGPANEL)
|
||||
Reference in New Issue
Block a user