2017-03-06 11:39:27 +08:00
|
|
|
cmake_minimum_required(VERSION 3.2)
|
2017-01-21 22:04:10 +08:00
|
|
|
project(xlnt_all)
|
2015-11-03 03:22:13 +08:00
|
|
|
|
2016-10-28 06:40:20 +08:00
|
|
|
# This indicates to CMakeLists in subdirectories that they are part of a larger project
|
2017-01-21 22:04:10 +08:00
|
|
|
set(COMBINED_PROJECT TRUE)
|
2016-10-26 08:21:58 +08:00
|
|
|
|
|
|
|
# Library type
|
2017-03-11 07:33:20 +08:00
|
|
|
option(STATIC "Set to ON to build xlnt as a static library instead of a shared library" OFF)
|
2016-10-26 08:21:58 +08:00
|
|
|
|
|
|
|
# Optional components
|
2017-03-19 09:30:26 +08:00
|
|
|
option(TESTS "Set to OFF to skip building test executable (in ./tests)" ON)
|
2016-10-28 06:40:20 +08:00
|
|
|
option(SAMPLES "Set to ON to build executable code samples (in ./samples)" OFF)
|
|
|
|
option(BENCHMARKS "Set to ON to build performance benchmarks (in ./benchmarks)" OFF)
|
2017-07-03 09:33:53 +08:00
|
|
|
option(ARROW "Set to ON to build Arrow conversion functions (in ./contrib/xlntarrow)" OFF)
|
2016-10-26 08:21:58 +08:00
|
|
|
|
|
|
|
# Platform specific options
|
|
|
|
if(NOT MSVC)
|
2016-10-28 06:40:20 +08:00
|
|
|
option(COVERAGE "Generate coverage data using gcov" OFF)
|
2015-10-27 04:54:21 +08:00
|
|
|
endif()
|
|
|
|
|
2016-10-26 08:21:58 +08:00
|
|
|
# Add components according to selected options
|
2016-10-28 06:40:20 +08:00
|
|
|
if(SAMPLES)
|
2016-10-26 08:21:58 +08:00
|
|
|
add_subdirectory(samples)
|
|
|
|
endif()
|
2015-10-15 01:16:25 +08:00
|
|
|
|
2016-10-28 06:40:20 +08:00
|
|
|
if(BENCHMARKS)
|
2016-10-26 08:21:58 +08:00
|
|
|
add_subdirectory(benchmarks)
|
2015-11-04 12:02:43 +08:00
|
|
|
endif()
|
|
|
|
|
2017-03-19 09:30:26 +08:00
|
|
|
if(TESTS)
|
2016-12-14 16:27:09 +08:00
|
|
|
add_subdirectory(tests)
|
|
|
|
endif()
|
|
|
|
|
2017-07-31 00:48:57 +08:00
|
|
|
if(PYTHON)
|
2017-08-05 01:12:25 +08:00
|
|
|
add_subdirectory(python)
|
2017-07-01 22:46:48 +08:00
|
|
|
endif()
|
|
|
|
|
2016-10-26 08:21:58 +08:00
|
|
|
add_subdirectory(source)
|