Jeongik Cha | 1199caa | 2021-07-20 12:32:58 +0900 | [diff] [blame] | 1 | cmake_minimum_required(VERSION 3.1) |
| 2 | |
| 3 | # Extract version from configure.ac. |
| 4 | set(VERSION_REGEX "^AC_INIT\\(libconfig,[ \t]+([0-9.]+),.*") |
| 5 | file(STRINGS "configure.ac" |
| 6 | VERSION_STRING REGEX ${VERSION_REGEX}) |
| 7 | string(REGEX REPLACE ${VERSION_REGEX} "\\1" VERSION_STRING "${VERSION_STRING}") |
| 8 | |
| 9 | project(libconfig LANGUAGES C CXX VERSION ${VERSION_STRING}) |
| 10 | option(BUILD_EXAMPLES "Enable examples" ON) |
| 11 | option(BUILD_SHARED_LIBS "Enable shared library" ON) |
| 12 | option(BUILD_TESTS "Enable tests" ON) |
| 13 | |
| 14 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) |
| 15 | |
| 16 | set(CMAKE_C_STANDARD 99) |
| 17 | set(CMAKE_C_EXTENSIONS ON) |
| 18 | |
| 19 | set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out) |
| 20 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out) |
| 21 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out) |
| 22 | |
| 23 | include(GNUInstallDirs) |
| 24 | include(CheckSymbolExists) |
| 25 | add_subdirectory(lib) |
| 26 | |
| 27 | if(BUILD_EXAMPLES) |
| 28 | add_subdirectory(examples) |
| 29 | endif() |
| 30 | |
| 31 | if(BUILD_TESTS) |
| 32 | enable_testing() |
| 33 | add_subdirectory(tinytest) |
| 34 | add_subdirectory(tests) |
| 35 | endif() |