diff options
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a797610 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,35 @@ +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() |