X-Git-Url: https://git.ao2.it/libam7xxx.git/blobdiff_plain/d25fcc3e360bf67203e185c7bfed7a740fca6641..12521481f11d23c8afbb6f21659ca901a9663959:/examples/CMakeLists.txt?ds=sidebyside diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index b7941ab..f076b19 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,7 +1,5 @@ include(CheckSymbolExists) -add_definitions("-D_POSIX_C_SOURCE=2") # for getopt() -add_definitions("-D_POSIX_SOURCE") # for sigaction -add_definitions("-D_BSD_SOURCE") # for strdup +add_definitions("-D_POSIX_C_SOURCE=200809L") # for getopt(), sigaction(), and strdup() include_directories(${CMAKE_SOURCE_DIR}/src/) @@ -18,8 +16,8 @@ endif() option(BUILD_AM7XXX-PLAY "Build a more complete example: am7xxx-play" TRUE) if(BUILD_AM7XXX-PLAY) find_package(FFmpeg REQUIRED) - set(CMAKE_REQUIRED_LIBRARIES ${FFMPEG_LIBRARIES}) - set(CMAKE_REQUIRED_INCLUDES ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) + set(CMAKE_REQUIRED_LIBRARIES ${FFMPEG_LIBRARIES}) + set(CMAKE_REQUIRED_INCLUDES ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) check_symbol_exists(avformat_open_input "${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}/libavformat/avformat.h" HAVE_AVFORMAT_OPEN_INPUT) @@ -32,12 +30,25 @@ if(BUILD_AM7XXX-PLAY) include_directories(${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) include_directories(${FFMPEG_LIBSWSCALE_INCLUDE_DIRS}) + set(CMAKE_REQUIRED_DEFINITIONS -D_POSIX_SOURCE) + check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION) + if (HAVE_SIGACTION) + add_definitions("-DHAVE_SIGACTION") + endif() + + check_symbol_exists(strtok_r "string.h" HAVE_STRTOK_R) + if (HAVE_STRTOK_R) + add_definitions("-DHAVE_STRTOK_R") + endif() + set(CMAKE_REQUIRED_DEFINITIONS) + # xcb is used to retrieve the full screen dimensions when using x11grab # as input format find_package(XCB) if (XCB_FOUND) add_definitions("${LIBXCB_DEFINITIONS} -DHAVE_XCB") include_directories(${LIBXCB_INCLUDE_DIRS}) + set(OPTIONAL_LIBRARIES ${LIBXCB_LIBRARIES}) endif() add_executable(am7xxx-play am7xxx-play.c) @@ -45,7 +56,21 @@ if(BUILD_AM7XXX-PLAY) target_link_libraries(am7xxx-play am7xxx ${FFMPEG_LIBRARIES} ${FFMPEG_LIBSWSCALE_LIBRARIES} - ${LIBXCB_LIBRARIES}) + ${OPTIONAL_LIBRARIES}) install(TARGETS am7xxx-play DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") endif() + +# Build a simple usb-modeswitch clone for am7xxx devices +option(BUILD_am7xxx-modeswitch "Build a simple usbmode-switch clone for am7xxx devices" TRUE) +if(BUILD_am7xxx-modeswitch) + + find_package(libusb-1.0 REQUIRED) + include_directories(${LIBUSB_1_INCLUDE_DIRS}) + + add_executable(am7xxx-modeswitch am7xxx-modeswitch.c) + target_link_libraries(am7xxx-modeswitch ${LIBUSB_1_LIBRARIES}) + install(TARGETS am7xxx-modeswitch + DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") +endif() +