smanders / externpro

build external projects with cmake
MIT License
13 stars 12 forks source link

target_link_libraries as replacement for xpTargetExtern, part 4 #273

Closed smanders closed 4 years ago

smanders commented 4 years ago

xpTargetExtern() has been a good boat and has helped get us to where we are today, but a better, more familiar boat exists (target_link_libraries()) now that I've discovered how to associate include directories and compile definitions with a library target

this issue is all about setting target properties and using a cmake namespace (xpro::) in externpro projects and is really a continuation of changes in the last release of externpro

see part 1 https://github.com/smanders/externpro/issues/257

    • [x] activemqcpp
    • [x] apr
    • [x] boost
    • [x] bzip2
    • [x] cares
    • [ ] ceres
    • [x] clangformat
    • [x] clangtidy
    • [x] cub (interface)
    • [x] curl (namespace?)
    • [x] eigen (remove INCLUDE_DIR?)
    • [x] expat
    • [x] fecpp
    • [x] ffmpeg
    • [x] fftw (moved to internpro)
    • [x] geotiff
    • [x] geotrans (temp TARGET)
    • [x] glew
    • [x] gsoap
    • [x] jasper
    • [x] jpegxp
    • [x] jxrlib
    • [x] libgit2
    • [x] libssh2
    • [x] libstrophe
    • [x] lua
    • [x] node (remove INCLUDE_DIR?)
    • [x] openh264
    • [x] openssl
    • [x] patch
    • [x] protobuf (temp TARGET)
    • [x] rapidjson (remove INCLUDE_DIR?)
    • [x] rapidxml (remove INCLUDE_DIR?)
    • [x] shapelib
    • [x] wxinclude
    • [ ] wxwidgets
    • [x] wxx
    • [x] yasm
    • [x] zlib
smanders commented 4 years ago

FFmpeg

VANTAGE

smanders@bluepill:~/src/VantageSuper$ grepsrc include | grep ffmpeg/
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavcodec/avcodec.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavdevice/avdevice.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavformat/avformat.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavformat/avio.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavutil/file.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavutil/log.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libswscale/swscale.h>
smanders@bluepill:~/src/VantageSuper$ ls /opt/extern/externpro-20.02.1-gcc750-64-Linux/include/ffmpeg_2.6.2/ffmpeg/
libavcodec  libavdevice  libavfilter  libavformat  libavutil  libswresample  libswscale
smanders@bluepill:~/src/VantageSuper$ grepsrc include | grep libav
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavcodec/avcodec.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavdevice/avdevice.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavformat/avformat.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavformat/avio.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavutil/file.h>
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libavutil/log.h>
smanders@bluepill:~/src/VantageSuper$ grepsrc include | grep libsw
Server/DataSources/VideoCaptureIfc/CaptureVideo.cpp:#include <ffmpeg/libswscale/swscale.h>

PRIVATE

Sdvideo

smanders@bluepill:~/src/Sdvideo$ grepsrc include | grep libav
Sdvideo/WriteVideoImpl.hpp:#include <libavcodec/avcodec.h>
Sdvideo/WriteVideoImpl.hpp:#include <libavformat/avformat.h>
Sdvideo/FormatConverter.hpp:#include "libavcodec/avcodec.h"
Sdvideo/FormatConverter.hpp:#include "libavutil/pixfmt.h"
Sdvideo/Logger.cpp:#include <libavutil/log.h>
Sdvideo/WriteReorderThread.hpp:#include <libavcodec/avcodec.h>
Sdvideo/WriteReorderThread.hpp:#include <libavformat/avformat.h>
Sdvideo/ReadVideoImpl.hpp:#include <libavcodec/avcodec.h>
Sdvideo/ReadVideoImpl.hpp:#include <libavformat/avformat.h>
Sdvideo/ReadVideoImpl.hpp:#include <libavformat/avio.h>
Sdvideo/ReadVideoImpl.hpp:#include <libavutil/file.h>
Sdvideo/ReadVideoImpl.hpp:#include <libavutil/time.h>
smanders@bluepill:~/src/Sdvideo$ grepsrc include | grep libsw
Sdvideo/WriteVideoImpl.hpp:#include <libswscale/swscale.h>
Sdvideo/WriteReorderThread.hpp:#include <libswscale/swscale.h>
Sdvideo/ReadVideoImpl.hpp:#include <libswscale/swscale.h>

PUBLIC


FFmpeg libraries used

FFmpeg libraries not used

smanders commented 4 years ago

ceres, glew and wxwidgets are the only remaining use scripts that could be simplified/updated

closing this issue as completed (for now) with commits to the dev branch referenced above