Compare commits

...

5 Commits

Author SHA1 Message Date
Mattia Verga 00d39edf59
Merge 8e6587b215 into b6529a3ce3 2024-06-20 12:06:18 +00:00
Brandon Rhodes b6529a3ce3 Fix GitHub Actions by installing groff on Mac 2024-05-17 23:41:52 -04:00
dave-kaye 48db8e8eaa
Update release date in Help > About menu (#92) 2024-05-15 22:01:19 -04:00
dave-kaye 25d9785659
Update download urls (#93)
Closes issue #80.
2024-05-03 14:47:40 -04:00
Mattia Verga 8e6587b215 Add cmake directives
Signed-off-by: Mattia Verga <mattia.verga@tiscali.it>
2023-01-14 18:40:18 +01:00
14 changed files with 390 additions and 14 deletions

View File

@ -4,6 +4,7 @@ on:
push: push:
branches: branches:
- main - main
- fix-ci
pull_request: pull_request:
branches: branches:
@ -31,6 +32,8 @@ jobs:
run: brew install openssl && brew info openssl run: brew install openssl && brew info openssl
- name: Install XQuartz - name: Install XQuartz
run: brew install xquartz --cask && brew info xquartz run: brew install xquartz --cask && brew info xquartz
- name: Install groff
run: brew install groff && brew info groff
- name: Compile - name: Compile
run: make -C GUI/xephem run: make -C GUI/xephem
- name: Test - name: Test

75
CMakeLists.txt Normal file
View File

@ -0,0 +1,75 @@
cmake_minimum_required(VERSION 3.10)
project(xephem VERSION 4.1.0 LANGUAGES C)
set(DISPLAY_NAME "XEphem")
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
# Required packages
find_package(Motif REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(X11 REQUIRED)
# Optional packages
find_package(JPEG)
find_package(PNG)
find_package(ZLIB)
# Define installation directories
if((NOT WIN32) AND (NOT NATIVE_OSX_APP))
include(GNUInstallDirs)
endif()
if(NATIVE_OSX_APP)
set(CMAKE_INSTALL_PREFIX "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.app/Contents")
set(CMAKE_INSTALL_FULL_LOCALEDIR "${CMAKE_INSTALL_PREFIX}/Resources/locale")
set(CMAKE_INSTALL_BINDIR "MacOS")
set(XEPHEM_DATADIR "${CMAKE_INSTALL_PREFIX}/Resources")
elseif(WIN32)
set(CMAKE_INSTALL_BINDIR ".")
set(CMAKE_INSTALL_DATAROOTDIR ".")
set(CMAKE_INSTALL_DATADIR ".")
set(CMAKE_INSTALL_FULL_LOCALEDIR "locale")
set(CMAKE_INSTALL_LOCALEDIR "${CMAKE_INSTALL_FULL_LOCALEDIR}")
set(XEPHEM_DATADIR "${CMAKE_INSTALL_DATADIR}")
else()
set(XEPHEM_DATADIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}")
endif()
# Build libraries
add_subdirectory(libastro)
add_subdirectory(libip)
if(NOT JPEG_FOUND)
add_subdirectory(libjpegd)
endif()
add_subdirectory(liblilxml)
if(NOT PNG_FOUND)
add_subdirectory(libpng)
endif()
if(NOT ZLIB_FOUND)
add_subdirectory(libz)
endif()
# Build main program
add_subdirectory(GUI/xephem)
# Install
install(TARGETS xephem
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES ${CMAKE_BINARY_DIR}/xephem.1
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
install(DIRECTORY GUI/xephem/auxil
DESTINATION ${XEPHEM_DATADIR})
install(DIRECTORY GUI/xephem/catalogs
DESTINATION ${XEPHEM_DATADIR})
install(DIRECTORY GUI/xephem/fifos
DESTINATION ${XEPHEM_DATADIR})
install(DIRECTORY GUI/xephem/fits
DESTINATION ${XEPHEM_DATADIR})
install(DIRECTORY GUI/xephem/gallery
DESTINATION ${XEPHEM_DATADIR})
install(DIRECTORY GUI/xephem/help
DESTINATION ${XEPHEM_DATADIR})
install(DIRECTORY GUI/xephem/lo
DESTINATION ${XEPHEM_DATADIR})

95
GUI/xephem/CMakeLists.txt Normal file
View File

@ -0,0 +1,95 @@
cmake_minimum_required(VERSION 3.10)
set(SRC_FILES
aavso.c
annotmenu.c
broadcast.c
calmenu.c
closemenu.c
compiler.c
coordsmenu.c
datamenu.c
db.c
dbmenu.c
earthmap.c
earthmenu.c
fallbacks.c
favmenu.c
formats.c
fsmenu.c
gallerymenu.c
glance.c
gsc.c
gscnet.c
helpmenu.c
homeio.c
hznmenu.c
imregmenu.c
indimenu.c
jpeg2pm.c
jupmenu.c
listmenu.c
mainmenu.c
marsmenu.c
marsmmenu.c
moonmenu.c
moviemenu.c
msgmenu.c
netmenu.c
objmenu.c
obslog.c
patchlevel.c
plot_aux.c
plotmenu.c
preferences.c
progress.c
ps.c
query.c
rotated.c
satmenu.c
saveres.c
scope.c
sites.c
skybinary.c
skyeyep.c
skyfifos.c
skyfiltmenu.c
skyfits.c
skyhist.c
skyip.c
skylist.c
skytoolbar.c
skyviewmenu.c
solsysmenu.c
splash.c
srchmenu.c
sunmenu.c
time.c
tips.c
trailmenu.c
ucac.c
uranusmenu.c
usno.c
versionmenu.c
webdbmenu.c
xe2.c
xe3.c
xephem.c
xmisc.c)
set(TARGET_LIB astro ip lilxml m png ssl Xm Xt Xext Xmu X11 z)
if(NOT JPEG_FOUND)
set(TARGET_LIB ${TARGET_LIB} jpegd)
else()
set(TARGET_LIB ${TARGET_LIB} jpeg)
endif()
add_executable(xephem ${SRC_FILES})
target_link_libraries(xephem ${TARGET_LIB})
add_custom_command(TARGET xephem
POST_BUILD
COMMAND nroff -man ${CMAKE_CURRENT_SOURCE_DIR}/xephem.man > xephem.1
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
COMMENT "Building manpage"
VERBATIM)

View File

@ -744,11 +744,11 @@ String fallbacks[] = {
"XEphem*WCS.y: 10", "XEphem*WCS.y: 10",
"XEphem*WebDB*Pattern.value: ", "XEphem*WebDB*Pattern.value: ",
"XEphem*WebDB*Search.set: False", "XEphem*WebDB*Search.set: False",
"XEphem*WebDB*URL0.value: http://celestrak.org/NORAD/elements/stations.txt", "XEphem*WebDB*URL0.value: https://celestrak.org/NORAD/elements/stations.txt",
"XEphem*WebDB*URL1.value: http://celestrak.org/NORAD/elements/science.txt", "XEphem*WebDB*URL1.value: https://celestrak.org/NORAD/elements/science.txt",
"XEphem*WebDB*URL2.value: http://celestrak.org/NORAD/elements/tle-new.txt", "XEphem*WebDB*URL2.value: https://celestrak.org/NORAD/elements/tle-new.txt",
"XEphem*WebDB*URL3.value: http://celestrak.org/NORAD/elements/amateur.txt", "XEphem*WebDB*URL3.value: https://celestrak.org/NORAD/elements/amateur.txt",
"XEphem*WebDB*URL4.value: http://celestrak.org/NORAD/elements/visual.txt", "XEphem*WebDB*URL4.value: https://celestrak.org/NORAD/elements/visual.txt",
"XEphem*WebDB*URL5.value: https://www.minorplanetcenter.net/iau/Ephemerides/Comets/Soft03Cmt.txt", "XEphem*WebDB*URL5.value: https://www.minorplanetcenter.net/iau/Ephemerides/Comets/Soft03Cmt.txt",
"XEphem*WebDB*URL6.value: https://www.minorplanetcenter.net/iau/Ephemerides/CritList/Soft03CritList.txt", "XEphem*WebDB*URL6.value: https://www.minorplanetcenter.net/iau/Ephemerides/CritList/Soft03CritList.txt",
"XEphem*WebDB*URL7.value: https://www.minorplanetcenter.net/iau/Ephemerides/Distant/Soft03Distant.txt", "XEphem*WebDB*URL7.value: https://www.minorplanetcenter.net/iau/Ephemerides/Distant/Soft03Distant.txt",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -7991,7 +7991,7 @@ format if it is not already.<br>
<br> <br>
Several particularly useful sites as of this build are already entered. Several particularly useful sites as of this build are already entered.
The first five are from Dr. TS Kelso's Earth satellite lists at <a The first five are from Dr. TS Kelso's Earth satellite lists at <a
href="https://www.celestrak.org">celestrak.org</a>. The other four are href="https://celestrak.org">celestrak.org</a>. The other four are
the Minor Planet Center's lists of hot comets and unusual asteroids the Minor Planet Center's lists of hot comets and unusual asteroids
specially formatted for <a specially formatted for <a
href="https://www.minorplanetcenter.net/iau/Ephemerides/Soft03.html">XEphem</a>. href="https://www.minorplanetcenter.net/iau/Ephemerides/Soft03.html">XEphem</a>.
@ -7999,12 +7999,9 @@ Click <span style="font-weight: bold;">Get</span> beside the desired
catalog to download the file to the Private directory and catalog to download the file to the Private directory and
simultaneously load into XEphem memory.<br> simultaneously load into XEphem memory.<br>
<br> <br>
Special files created by Special files created by the <a
<!-- could not found the correct linke href="https://www.minorplanetcenter.net/data/">Minor Planet Center</a>
<a href="http://cfa-www.harvard.edu/cfa/ps/mpc.html">Minor Planet Center</a> and <a href="https://asteroid.lowell.edu/astorb/">Lowell
and
-->
the <a href="https://asteroid.lowell.edu/">Lowell
Observatory</a> may also be downloaded. Observatory</a> may also be downloaded.
Each organization maintains Each organization maintains
extensive lists of all known asteroids and produces on a regular basis extensive lists of all known asteroids and produces on a regular basis

View File

@ -5,5 +5,5 @@
#include "xephem.h" #include "xephem.h"
char PATCHLEVEL[] = "4.2.0"; char PATCHLEVEL[] = "4.2.0";
char PATCHDATE[] = "2021 September 13"; char PATCHDATE[] = "2024 February 13";
char COPYRIGHT[] = "Copyright (c) 1990-2021 by Elwood Charles Downey"; char COPYRIGHT[] = "Copyright (c) 1990-2021 by Elwood Charles Downey";

View File

@ -158,7 +158,7 @@ wdb_create()
XtSetArg (args[n], XmNrightAttachment, XmATTACH_FORM); n++; XtSetArg (args[n], XmNrightAttachment, XmATTACH_FORM); n++;
tf_w = XmCreateTextField (f_w, buf, args, n); tf_w = XmCreateTextField (f_w, buf, args, n);
defaultTextFN (tf_w, 1, "", NULL); defaultTextFN (tf_w, 1, "", NULL);
wtip (tf_w, "URL of file to download (must use HTTP)"); wtip (tf_w, "URL of file to download (must use HTTP or HTTPS)");
XtManageChild (tf_w); XtManageChild (tf_w);
sprintf (buf, "XEphem*WebDB*URL%d.value", i); sprintf (buf, "XEphem*WebDB*URL%d.value", i);
sr_reg (tf_w, buf, wdbcategory, 1); sr_reg (tf_w, buf, wdbcategory, 1);

69
libastro/CMakeLists.txt Normal file
View File

@ -0,0 +1,69 @@
cmake_minimum_required(VERSION 3.10)
project(libastro C)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(SRC_FILES
aa_hadec.c
aberration.c
actan.c
airmass.c
anomaly.c
ap_as.c
atlas.c
auxil.c
bdl.c
chap95.c
chap95_data.c
circum.c
comet.c
constel.c
dbfmt.c
deep.c
deltat.c
earthsat.c
eq_ecl.c
eq_gal.c
formats.c
helio.c
jupmoon.c
libration.c
magdecl.c
marsmoon.c
misc.c
mjd.c
moon.c
mooncolong.c
moonnf.c
nutation.c
obliq.c
parallactic.c
parallax.c
plans.c
plmoon.c
plshadow.c
precess.c
reduce.c
refract.c
rings.c
riset.c
riset_cir.c
satmoon.c
sdp4.c
sgp4.c
sphcart.c
sun.c
thetag.c
twobody.c
umoon.c
utc_gst.c
vsop87.c
vsop87_data.c)
add_library(astro STATIC ${SRC_FILES})
target_include_directories(astro PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}")

26
libip/CMakeLists.txt Normal file
View File

@ -0,0 +1,26 @@
cmake_minimum_required(VERSION 3.10)
project(libip C)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(SRC_FILES
explodegif.c
fits.c
fsmatch.c
gaussfit.c
lstsqr.c
median.c
sqr.c
stars.c
stats.c
walk.c
wcs.c)
add_library(ip STATIC ${SRC_FILES})
target_link_libraries(ip astro)
target_include_directories(ip PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}")

40
libjpegd/CMakeLists.txt Normal file
View File

@ -0,0 +1,40 @@
cmake_minimum_required(VERSION 3.10)
project(libjpegd C)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(SRC_FILES
jcomapi.c
jdapimin.c
jdapistd.c
jdatasrc.c
jdcoefct.c
jdcolor.c
jddctmgr.c
jdhuff.c
jdinput.c
jdmainct.c
jdmarker.c
jdmaster.c
jdmerge.c
jdphuff.c
jdpostct.c
jdsample.c
jerror.c
jidctflt.c
jidctfst.c
jidctint.c
jidctred.c
jmemmgr.c
jmemnobs.c
jquant1.c
jquant2.c
jutils.c)
add_library(jpegd STATIC ${SRC_FILES})
target_include_directories(jpegd PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}")

16
liblilxml/CMakeLists.txt Normal file
View File

@ -0,0 +1,16 @@
cmake_minimum_required(VERSION 3.10)
project(liblilxml C)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(SRC_FILES
base64.c
lilxml.c)
add_library(lilxml STATIC ${SRC_FILES})
target_include_directories(lilxml PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}")

30
libpng/CMakeLists.txt Normal file
View File

@ -0,0 +1,30 @@
cmake_minimum_required(VERSION 3.10)
project(libpng C)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(SRC_FILES
png.c
pngerror.c
pngget.c
pngmem.c
pngpread.c
pngread.c
pngrio.c
pngrtran.c
pngrutil.c
pngset.c
pngtrans.c
pngwio.c
pngwrite.c
pngwtran.c
pngwutil.c)
add_library(png STATIC ${SRC_FILES})
target_link_libraries(png z)
target_include_directories(png PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}")

25
libz/CMakeLists.txt Normal file
View File

@ -0,0 +1,25 @@
cmake_minimum_required(VERSION 3.10)
project(libz C)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(SRC_FILES
adler32.c
compress.c
crc32.c
deflate.c
inffast.c
inflate.c
inftrees.c
testzlib.c
trees.c
uncompr.c
zutil.c)
add_library(z STATIC ${SRC_FILES})
target_include_directories(z PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_CURRENT_SOURCE_DIR}")