celestia/src/celestia/gtk/CMakeLists.txt

102 lines
2.6 KiB
CMake

if(NOT _UNIX OR NOT ENABLE_GTK)
message(STATUS "Either not Unix or Gtk frontend is disabled.")
return()
endif()
set(GTK_SOURCES
actions.cpp
common.cpp
dialog-eclipse.cpp
dialog-goto.cpp
dialog-options.cpp
dialog-solar.cpp
dialog-star.cpp
dialog-time.cpp
dialog-tour.cpp
glwidget.cpp
main.cpp
menu-context.cpp
settings-file.cpp
splash.cpp
)
set(GTK_HEADERS
actions.h
common.h
dialog-eclipse.h
dialog-goto.h
dialog-options.h
dialog-solar.h
dialog-star.h
dialog-time.h
dialog-tour.h
glwidget.h
menu-context.h
settings-file.h
splash.h
ui.h
)
if (NOT USE_GTKGLEXT)
set(GTK_SOURCES ${GTK_SOURCES} gtkegl.c)
set(GTK_HEADERS ${GTK_HEADERS} gtkegl.h)
endif()
if (USE_GTK3)
pkg_check_modules(GTK gtk+-3.0 REQUIRED)
else()
pkg_check_modules(GTK gtk+-2.0 REQUIRED)
endif()
pkg_check_modules(CAIRO cairo)
if (ENABLE_GLES)
pkg_check_modules(GLESv2 glesv2 REQUIRED)
endif()
if (USE_GTKGLEXT)
pkg_check_modules(GTK2GLEXT gtkglext-1.0 REQUIRED)
else()
pkg_check_modules(EGL egl REQUIRED)
endif()
add_executable(celestia-gtk ${GTK_SOURCES})
add_dependencies(celestia-gtk celestia)
if(${CMAKE_VERSION} VERSION_LESS "3.13.0")
function(target_link_directories target scope)
link_directories(${ARGN})
endfunction()
endif()
target_include_directories(celestia-gtk PRIVATE ${GTK_INCLUDE_DIRS})
target_link_directories(celestia-gtk PRIVATE ${GTK_LIBRARY_DIRS})
target_link_libraries(celestia-gtk celestia ${GTK_LIBRARIES})
if (CAIRO_FOUND)
target_include_directories(celestia-gtk PRIVATE ${CAIRO_INCLUDE_DIRS})
target_link_directories(celestia-gtk PRIVATE ${CAIRO_LIBRARY_DIRS})
target_link_libraries(celestia-gtk ${CAIRO_LIBRARIES})
target_compile_definitions(celestia-gtk PRIVATE CAIRO)
endif()
if (USE_GTKGLEXT)
target_include_directories(celestia-gtk PRIVATE ${GTK2GLEXT_INCLUDE_DIRS})
target_link_directories(celestia-gtk PRIVATE ${GTK2GLEXT_LIBRARY_DIRS})
target_link_libraries(celestia-gtk celestia ${GTK2GLEXT_LIBRARIES})
target_compile_definitions(celestia-gtk PRIVATE GTKGLEXT)
else()
target_include_directories(celestia-gtk PRIVATE ${EGL_INCLUDE_DIRS})
target_link_directories(celestia-gtk PRIVATE ${EGL_LIBRARY_DIRS})
target_link_libraries(celestia-gtk celestia ${EGL_LIBRARIES})
endif()
if (ENABLE_GLES)
target_include_directories(celestia-gtk PRIVATE ${GLESv2_INCLUDE_DIRS})
target_link_directories(celestia-gtk PRIVATE ${GLESv2_LIBRARY_DIRS})
target_link_libraries(celestia-gtk celestia ${GLESv2_LIBRARIES})
endif()
install(TARGETS celestia-gtk RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
add_subdirectory(data)