1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_C_STANDARD 11)
set(LIBSOVERSION "2")
set(LIBVERSION "2.2.1")
add_library(gviewrender_objects OBJECT
render.c
render_fx.c
render_osd_crosshair.c
render_osd_vu_meter.c
)
add_library(gviewrender SHARED $<TARGET_OBJECTS:gviewrender_objects>)
add_library(gviewrender_static STATIC $<TARGET_OBJECTS:gviewrender_objects>)
set_target_properties(gviewrender_objects PROPERTIES POSITION_INDEPENDENT_CODE ON)
set_target_properties(gviewrender_static PROPERTIES OUTPUT_NAME gviewrender)
set_target_properties(
gviewrender PROPERTIES
VERSION ${LIBVERSION}
SOVERSION ${LIBSOVERSION}
)
if(SDL2_FOUND)
target_sources(gviewrender PRIVATE render_sdl2.c)
target_link_libraries(gviewrender ${SDL2_LIBRARIES})
add_definitions(${SDL2_CFLAGS} ${SDL2_CFLAGS_OTHER})
endif()
if(SFML_FOUND)
target_sources(gviewrender_objects PRIVATE render_sfml.cpp)
target_link_libraries(gviewrender ${SFML_LIBRARIES})
add_definitions(${SFML_CFLAGS} ${SFML_CFLAGS_OTHER})
endif()
if(GL_FOUND)
message(STATUS "linking gviewrender to ${GL_LIBRARIES}")
target_link_libraries(gviewrender ${GL_LIBRARIES})
endif()
pkg_check_modules(GSL gsl>=0.15)
if(GSL_FOUND)
message(STATUS "gsl is ON")
add_compile_definitions(HAS_GSL)
target_link_libraries(gviewrender ${GSL_LIBRARIES})
add_definitions(${GSL_CFLAGS} ${GSL_CFLAGS_OTHER})
endif()
include_directories(${CMAKE_SOURCE_DIR}/includes)
if(INSTALL_DEVKIT)
configure_file(libgviewrender.pc.in libgviewrender.pc @ONLY)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/gviewrender.h TYPE INCLUDE)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libgviewrender.pc
DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig
)
endif()
install(
TARGETS gviewrender
EXPORT gviewrender
LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
install(
TARGETS gviewrender_static
ARCHIVE DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
|