cmake_minimum_required(VERSION 3.1) # Extract version from configure.ac. set(VERSION_REGEX "^AC_INIT\\(libconfig,[ \t]+([0-9.]+),.*") file(STRINGS "configure.ac" VERSION_STRING REGEX ${VERSION_REGEX}) string(REGEX REPLACE ${VERSION_REGEX} "\\1" VERSION_STRING "${VERSION_STRING}") project(libconfig LANGUAGES C CXX VERSION ${VERSION_STRING}) option(BUILD_EXAMPLES "Enable examples" ON) option(BUILD_SHARED_LIBS "Enable shared library" ON) option(BUILD_TESTS "Enable tests" ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(CMAKE_C_STANDARD 99) set(CMAKE_C_EXTENSIONS ON) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/out) include(GNUInstallDirs) include(CheckSymbolExists) add_subdirectory(lib) if(BUILD_EXAMPLES) add_subdirectory(examples) endif() if(BUILD_TESTS) enable_testing() add_subdirectory(tinytest) add_subdirectory(tests) endif()