File: CMakeLists.txt

package info (click to toggle)
guvcview 2.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 3,680 kB
  • sloc: ansic: 25,600; cpp: 3,542; makefile: 28
file content (72 lines) | stat: -rw-r--r-- 1,906 bytes parent folder | download
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})