speed-dreams/src/libs/ephemeris/CMakeLists.txt

51 lines
1.5 KiB
CMake

INCLUDE(../../../cmake/macros.cmake)
#PROJECT(ephemeris)
SET(EPHEMERIS_SOURCES celestialbody.cpp ephemeris.cpp jupiter.cpp mars.cpp
mercury.cpp moonpos.cpp neptune.cpp saturn.cpp
star.cpp stardata.cpp uranus.cpp venus.cpp)
SET(EPHEMERIS_HEADERS celestialbody.h ephemeris.h jupiter.h mars.h mercury.h
moonpos.h neptune.h pluto.h saturn.h star.h stardata.h
uranus.h venus.h)
ADD_SDLIB_INCLUDEDIR(portability math)
ADD_PLIB_INCLUDEDIR()
ADD_SDL2_INCLUDEDIR()
IF(WIN32)
# DLL export stuff under Windows (to avoid .def file)
ADD_DEFINITIONS(-DEPHEMERIS_DLL)
ENDIF(WIN32)
IF(MSVC)
# Ignore some run-time libs to avoid link time warnings and sometimes even crashes.
SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt.lib")
ENDIF(MSVC)
# Disable developer warning
IF (COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)
# Note: Headers needed for having them available in IDEs.
SD_ADD_LIBRARY(ephemeris SHARED ${EPHEMERIS_SOURCES} ${EPHEMERIS_HEADERS})
# Might not work with GCC 4.5 or + (non-robot modules crash at 1st reload = after 1 dlclose)
#SET_TARGET_PROPERTIES(ephemeris PROPERTIES VERSION ${VERSION} SOVERSION 0.0.0)
ADD_PLIB_LIBRARY(ephemeris ul sg)
ADD_SDLIB_LIBRARY(ephemeris portability)
IF(WIN32)
SD_INSTALL_FILES(BIN TARGETS ephemeris)
ELSE(WIN32)
SD_INSTALL_FILES(LIB lib TARGETS ephemeris)
ENDIF(WIN32)
SD_INSTALL_FILES(INCLUDE FILES ${EPHEMERIS_HEADERS})