|
caryoscelus |
b57217 |
# TODO: find out which version is actually required
|
|
caryoscelus |
b57217 |
cmake_minimum_required(VERSION 3.1)
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
b57217 |
## Find packages
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
# TODO: check if we really need all of them
|
|
|
cc8279 |
find_package(Boost REQUIRED system)
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
find_package(ZLIB REQUIRED)
|
|
|
6b7cd4 |
find_package(ETL REQUIRED)
|
|
|
6b7cd4 |
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
f4661e |
## TODO: investigate these more closely
|
|
caryoscelus |
174476 |
set(CMAKE_THREAD_PREFER_PTHREAD ON)
|
|
caryoscelus |
174476 |
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
caryoscelus |
f4661e |
find_package(Threads REQUIRED)
|
|
caryoscelus |
174476 |
if (CMAKE_USE_PTHREADS_INIT)
|
|
caryoscelus |
174476 |
set(HAVE_LIBPTHREAD ON)
|
|
caryoscelus |
174476 |
endif()
|
|
caryoscelus |
174476 |
|
|
caryoscelus |
b57217 |
include(FindPkgConfig)
|
|
caryoscelus |
b57217 |
pkg_check_modules(SIGCPP REQUIRED sigc++-2.0)
|
|
caryoscelus |
b57217 |
pkg_check_modules(GLIBMM REQUIRED glibmm-2.4)
|
|
caryoscelus |
b57217 |
pkg_check_modules(GIOMM REQUIRED giomm-2.4)
|
|
caryoscelus |
b57217 |
pkg_check_modules(CAIRO REQUIRED cairo)
|
|
caryoscelus |
b57217 |
pkg_check_modules(LIBXML REQUIRED libxml++-2.6)
|
|
caryoscelus |
b57217 |
pkg_check_modules(MLT REQUIRED mlt++)
|
|
caryoscelus |
174476 |
pkg_check_modules(FFTW REQUIRED fftw3)
|
|
caryoscelus |
174476 |
|
|
caryoscelus |
0d136e |
## TODO: move to module where it is actually required
|
|
caryoscelus |
3084ef |
pkg_check_modules(PANGO REQUIRED pango)
|
|
caryoscelus |
3084ef |
|
|
caryoscelus |
0d136e |
## TODO: should we keep it here?
|
|
caryoscelus |
0d136e |
find_package(ImageMagick COMPONENTS Magick++)
|
|
caryoscelus |
0d136e |
|
|
caryoscelus |
174476 |
##
|
|
caryoscelus |
174476 |
## Configure
|
|
caryoscelus |
174476 |
##
|
|
caryoscelus |
174476 |
|
|
caryoscelus |
39d3fe |
## set git version
|
|
caryoscelus |
39d3fe |
## TODO: put into separate file
|
|
caryoscelus |
174476 |
find_package(Git)
|
|
caryoscelus |
174476 |
if (GIT_FOUND)
|
|
caryoscelus |
174476 |
execute_process(
|
|
caryoscelus |
174476 |
COMMAND ${GIT_EXECUTABLE} show -s --format=%ad --date=format:%Y%m%d HEAD
|
|
caryoscelus |
174476 |
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
caryoscelus |
174476 |
OUTPUT_VARIABLE GIT_DATE
|
|
caryoscelus |
174476 |
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
caryoscelus |
174476 |
)
|
|
caryoscelus |
174476 |
execute_process(
|
|
caryoscelus |
174476 |
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
|
|
caryoscelus |
174476 |
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
caryoscelus |
174476 |
OUTPUT_VARIABLE GIT_BRANCH
|
|
caryoscelus |
174476 |
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
caryoscelus |
174476 |
)
|
|
caryoscelus |
174476 |
execute_process(
|
|
caryoscelus |
174476 |
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
|
caryoscelus |
174476 |
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
caryoscelus |
174476 |
OUTPUT_VARIABLE GIT_HASH
|
|
caryoscelus |
174476 |
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
caryoscelus |
174476 |
)
|
|
caryoscelus |
174476 |
else()
|
|
caryoscelus |
174476 |
set(GIT_DATE "unknown")
|
|
caryoscelus |
174476 |
set(GIT_BRANCH "unknown")
|
|
caryoscelus |
174476 |
set(GIT_HASH "unknown")
|
|
caryoscelus |
174476 |
endif()
|
|
caryoscelus |
174476 |
|
|
caryoscelus |
174476 |
add_definitions(-DHAVE_CONFIG_H)
|
|
caryoscelus |
174476 |
configure_file(config.h.cmake.in config.h)
|
|
caryoscelus |
174476 |
configure_file(autorevision.h.cmake.in autorevision.h)
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
b57217 |
## Include
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
174476 |
## for config
|
|
caryoscelus |
174476 |
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
caryoscelus |
174476 |
|
|
caryoscelus |
b57217 |
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
de1b91 |
## CMake helpers
|
|
caryoscelus |
de1b91 |
##
|
|
caryoscelus |
de1b91 |
|
|
caryoscelus |
de1b91 |
include(cmake/install_header.cmake)
|
|
caryoscelus |
de1b91 |
|
|
caryoscelus |
de1b91 |
##
|
|
caryoscelus |
b57217 |
## Sub-dirs
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
add_subdirectory(synfig)
|
|
caryoscelus |
174476 |
add_subdirectory(tool)
|
|
caryoscelus |
5dc91c |
add_subdirectory(modules)
|
|
caryoscelus |
b57217 |
|
|
caryoscelus |
b57217 |
##
|
|
caryoscelus |
b57217 |
## Build targets
|
|
caryoscelus |
b57217 |
##
|