| --- a/CMakeLists.txt |
| +++ b/CMakeLists.txt |
| @@ -51,8 +51,11 @@ endif() |
| project(lzo VERSION 2.10 LANGUAGES C) |
| |
| # configuration options |
| -option(ENABLE_STATIC "Build static LZO library." ON) |
| -option(ENABLE_SHARED "Build shared LZO library." OFF) |
| +option(ENABLE_STATIC "Build static LZO library." ON) |
| +option(ENABLE_SHARED "Build shared LZO library." OFF) |
| +option(ENABLE_TESTS "Build tests." ON) |
| +option(ENABLE_EXAMPLES "Build examples." ON) |
| +option(ENABLE_DOCS "Install documentation." ON) |
| if(NOT ENABLE_STATIC AND NOT ENABLE_SHARED) |
| set(ENABLE_STATIC ON) |
| endif() |
| @@ -127,14 +130,20 @@ macro(lzo_add_executable t) |
| endif() |
| endmacro() |
| # main test driver |
| +if(ENABLE_TESTS OR ENABLE_EXAMPLES) |
| lzo_add_executable(lzotest lzotest/lzotest.c) |
| +endif() |
| # examples |
| +if(ENABLE_EXAMPLES) |
| lzo_add_executable(dict examples/dict.c) |
| lzo_add_executable(lzopack examples/lzopack.c) |
| lzo_add_executable(overlap examples/overlap.c) |
| lzo_add_executable(precomp examples/precomp.c) |
| lzo_add_executable(precomp2 examples/precomp2.c) |
| +endif() |
| +if(ENABLE_TESTS OR ENABLE_EXAMPLES) |
| lzo_add_executable(simple examples/simple.c) |
| +endif() |
| # some boring internal test programs |
| if(0) |
| lzo_add_executable(align tests/align.c) |
| @@ -144,7 +153,7 @@ if(0) |
| endif() |
| |
| # miniLZO |
| -if(1) |
| +if(ENABLE_TESTS) |
| add_executable(testmini minilzo/testmini.c minilzo/minilzo.c) |
| target_include_directories(testmini PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include/lzo") # needed for "lzoconf.h" |
| endif() |
| @@ -263,8 +272,10 @@ add_test(NAME lzotest-03 COMMAND lzotest |
| |
| if(DEFINED CMAKE_INSTALL_FULL_LIBDIR) |
| |
| -set(f AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT) |
| -install(FILES ${f} DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}") |
| +if(ENABLE_DOCS) |
| + set(f AUTHORS COPYING NEWS THANKS doc/LZO.FAQ doc/LZO.TXT doc/LZOAPI.TXT) |
| + install(FILES ${f} DESTINATION "${CMAKE_INSTALL_FULL_DOCDIR}") |
| +endif() |
| |
| set(f include/lzo/lzo1.h include/lzo/lzo1a.h include/lzo/lzo1b.h |
| include/lzo/lzo1c.h include/lzo/lzo1f.h include/lzo/lzo1x.h |
| @@ -285,7 +296,7 @@ if(ENABLE_SHARED) |
| ) |
| endif() |
| |
| -if(1) |
| +if(ENABLE_EXAMPLES) |
| set(f lzopack lzotest simple testmini) # examples |
| install(TARGETS ${f} DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lzo/examples") |
| endif() |