Provide common celestia library instead of linking it to all frontends

pull/797/head
Hleb Valoshka 2020-07-08 20:08:18 +03:00
parent d7257adacc
commit 0eda63121c
13 changed files with 49 additions and 16 deletions

View File

@ -77,12 +77,16 @@ build_script:
set CTEST_OUTPUT_ON_FAILURE=1
copy src\celestia\RelWithDebInfo\*.dll test\unit\RelWithDebInfo\
ctest -C RelWithDebInfo
after_build:
- cmd: >-
cd c:\projects\celestia\build\src\celestia
7z a celestia-dep.x86.7z RelWithDebInfo\*
7z a celestia-win.x86.7z win32\RelWithDebInfo\*
windeployqt --no-angle --no-opengl-sw --no-translations --no-system-d3d-compiler qt\RelWithDebInfo\

View File

@ -0,0 +1 @@
manpage-has-errors-from-man usr/share/man/man1/celestia-glut.1.gz 131: warning: macro `@Widen' not defined

View File

@ -0,0 +1 @@
manpage-has-errors-from-man usr/share/man/man1/celestia-gtk.1.gz 131: warning: macro `@Widen' not defined

View File

@ -0,0 +1 @@
manpage-has-errors-from-man usr/share/man/man1/celestia-qt.1.gz 131: warning: macro `@Widen' not defined

24
debian/control vendored
View File

@ -50,7 +50,10 @@ Description: real-time visual space simulation
Package: celestia-qt
Section: science
Architecture: any
Depends: celestia-common (>= 1.7.0~), celestia-data (>= 1.7.0~), ${shlibs:Depends}, ${misc:Depends}
Depends: libcelestia1.7 (= ${binary:Version}),
celestia-common (= ${binary:Version}),
celestia-data (>= 1.7.0~),
${shlibs:Depends}, ${misc:Depends}
Conflicts: celestia (<< 1.4.1)
Replaces: celestia (<< 1.4.1)
Suggests: stellarium
@ -66,7 +69,10 @@ Description: real-time visual space simulation (Qt frontend)
Package: celestia-gtk
Section: science
Architecture: any
Depends: celestia-common (>= 1.7.0~), celestia-data (>= 1.7.0~), ${shlibs:Depends}, ${misc:Depends}
Depends: libcelestia1.7 (= ${binary:Version}),
celestia-common (= ${binary:Version}),
celestia-data (>= 1.7.0~),
${shlibs:Depends}, ${misc:Depends}
Conflicts: celestia (<< 1.4.1), celestia-gnome (<< 1.7.0~)
Replaces: celestia (<< 1.4.1), celestia-gnome (<< 1.7.0~)
Suggests: stellarium
@ -81,7 +87,10 @@ Description: real-time visual space simulation (Gtk frontend)
Package: celestia-glut
Architecture: any
Depends: celestia-common (>= 1.7.0~), celestia-data (>= 1.7.0~), ${shlibs:Depends}, ${misc:Depends}
Depends: libcelestia1.7 (= ${binary:Version}),
celestia-common (= ${binary:Version}),
celestia-data (>= 1.7.0~),
${shlibs:Depends}, ${misc:Depends}
Conflicts: celestia (<< 1.4.1)
Replaces: celestia (<< 1.4.1)
Suggests: stellarium
@ -94,9 +103,16 @@ Description: real-time visual space simulation (GLUT frontend)
.
This package contains a minimal frontend for Celestia.
Package: libcelestia1.7
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Library for the Celestia space simulator
This package includes the libcelestia library, which is
necessary to run Celestia.
Package: celestia-tools
Architecture: any
Depends: celestia-common (>= 1.4.1), ${shlibs:Depends}, ${misc:Depends}
Depends: ${shlibs:Depends}, ${misc:Depends}
Conflicts: celestia (<< 1.4.1)
Replaces: celestia (<< 1.4.1)
Suggests: stellarium

1
debian/libcelestia1.7.install vendored 100644
View File

@ -0,0 +1 @@
usr/lib/*/libcelestia*.so.*

2
debian/rules vendored
View File

@ -26,6 +26,8 @@ override_dh_auto_configure:
override_dh_install:
find debian/tmp/usr/bin/ -type f ! -name *.pl -exec chrpath --delete {} ';'
chrpath --delete debian/tmp/usr/lib/*/libcelestia.so.*
dh_install --fail-missing
mv debian/celestia-common/usr/share/celestia/celestia.cfg \
debian/celestia-common/etc/celestia.cfg

View File

@ -39,22 +39,24 @@ if(ENABLE_CELX)
set(SCRIPT_LIBS ${SCRIPT_LIBS} $<TARGET_OBJECTS:celluascript>)
endif()
add_library(celestia STATIC ${CELESTIA_SOURCES} ${SCRIPT_LIBS})
string(REPLACE "." ";" PROJECT_VERSION_LIST ${PROJECT_VERSION})
list(GET PROJECT_VERSION_LIST 0 PROJECT_VERSION_MAJOR)
list(GET PROJECT_VERSION_LIST 1 PROJECT_VERSION_MINOR)
set(CELSO "celestia-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
#[[
add_library(celestia SHARED ${CELESTIA_SOURCES})
add_library(celestia SHARED ${CELESTIA_SOURCES} ${SCRIPT_LIBS})
set_target_properties(celestia PROPERTIES
VERSION ${VERSION}
SOVERSION ${VERSION}
VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
WINDOWS_EXPORT_ALL_SYMBOLS TRUE
)
]]#
add_dependencies(celestia celengine celmath celutil)
target_link_libraries(celestia celengine celmath celutil)
cotire(celestia)
#install(TARGETS celestia LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS celestia LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} NAMELINK_SKIP)
add_subdirectory(glut)
add_subdirectory(gtk)

View File

@ -6,6 +6,7 @@ endif()
find_package(GLUT REQUIRED)
set(GLUT_SOURCES glutmain.cpp)
add_executable(celestia-glut ${GLUT_SOURCES})
add_dependencies(celestia-glut celestia)
target_include_directories(celestia-glut PRIVATE ${GLUT_INCLUDE_DIR})
target_link_libraries(celestia-glut ${CELESTIA_LIBS} ${GLUT_LIBRARIES})
target_link_libraries(celestia-glut celestia ${GLUT_LIBRARIES})
install(TARGETS celestia-glut RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@ -41,9 +41,10 @@ pkg_check_modules(GTK2 gtk+-2.0 REQUIRED)
pkg_check_modules(GTK2GLEXT gtkglext-1.0 REQUIRED)
add_executable(celestia-gtk ${GTK_SOURCES})
add_dependencies(celestia-gtk celestia)
cotire(celestia-gtk)
target_include_directories(celestia-gtk PRIVATE ${GTK2_INCLUDE_DIRS} ${GTK2GLEXT_INCLUDE_DIRS})
target_link_libraries(celestia-gtk ${CELESTIA_LIBS} ${GTK2_LIBRARIES} ${GTK2GLEXT_LIBRARIES})
target_link_libraries(celestia-gtk celestia ${GTK2_LIBRARIES} ${GTK2GLEXT_LIBRARIES})
install(TARGETS celestia-gtk RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
add_subdirectory(data)

View File

@ -66,9 +66,10 @@ if(WIN32)
endif()
add_executable(celestia-qt WIN32 ${QT_SOURCES} ${RC_SRC} ${RES})
add_dependencies(celestia-qt celestia)
cotire(celestia-qt)
qt5_use_modules(celestia-qt ${QT_LIBS})
target_link_libraries(celestia-qt ${CELESTIA_LIBS})
target_link_libraries(celestia-qt celestia)
if(APPLE)
set_property(TARGET celestia-qt APPEND_STRING PROPERTY LINK_FLAGS " -framework CoreFoundation")
set_property(TARGET celestia-qt APPEND_STRING PROPERTY LINK_FLAGS " -framework CoreServices")

View File

@ -6,6 +6,7 @@ endif()
find_package(SDL2 CONFIG REQUIRED)
set(SDL_SOURCES sdlmain.cpp)
add_executable(celestia-sdl ${SDL_SOURCES})
add_dependencies(celestia-sdl celestia)
target_include_directories(celestia-sdl PRIVATE ${SDL2_INCLUDE_DIRS})
target_link_libraries(celestia-sdl ${CELESTIA_LIBS} ${SDL2_LIBRARIES})
target_link_libraries(celestia-sdl celestia ${SDL2_LIBRARIES})
install(TARGETS celestia-sdl RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

View File

@ -42,6 +42,7 @@ target_include_directories(resources PRIVATE "${CMAKE_SOURCE_DIR}/src/celestia/w
set(RESOURCES $<TARGET_OBJECTS:resources>)
add_executable(celestia-win WIN32 ${WIN32_SOURCES} ${RESOURCES})
add_dependencies(celestia-win celestia)
cotire(celestia-win)
target_link_libraries(celestia-win ${CELESTIA_LIBS})
target_link_libraries(celestia-win celestia)
install(TARGETS celestia-win RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})