cmake_minimum_required(VERSION 3.10) project(McMini VERSION 0.0.1 DESCRIPTION "A bite-sized model checker" LANGUAGES C CXX) # C and C++ Versions set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED TRUE) set(CMAKE_CXX_STANDARD_REQUIRED TRUE) # Project configuration option(BUILD_TESTS OFF) option(VERBOSE_TESTING OFF) set(MCMINI_DIR "${CMAKE_SOURCE_DIR}") set(MCMINI_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/include") set(MCMINI_CMAKE_MODULE_DIR "${CMAKE_SOURCE_DIR}/cmake") set(MCMINI_SCRIPTS_DIR "${CMAKE_SOURCE_DIR}/script") set(MCMINI_DOCS_DIR "${CMAKE_SOURCE_DIR}/docs") set(MCMINI_GOOGLE_TEST_DIR "${CMAKE_SOURCE_DIR}/external/googletest") set(MCMINI_GOOGLE_TEST_INCLUDE_DIR "${MCMINI_GOOGLE_TEST_DIR}/include") # Include the "cmake/" directory as a location to look for CMake modules list(APPEND CMAKE_MODULE_PATH "${MCMINI_CMAKE_MODULE_DIR}") list(APPEND CMAKE_MODULE_PATH "${MCMINI_CMAKE_MODULE_DIR}/cpack") # McMini cmake modules include(PreCommit) include(McMiniTest) include(GitSubmodule) include(CMakeConditionals) include(ConfigureScripts) add_subdirectory(src) add_subdirectory(external) add_subdirectory_if(BUILD_TESTS "Tests only built with BUILD_TESTS=1" tests) # CTest setup enable_testing() # CPack Setup set(CPACK_VERBATIM_VARIABLES TRUE) set(CPACK_INSTALLATION_DIR "installation") set(CPACK_PACKAGE_NAME "McMini") set(CPACK_PACKAGE_VENDOR "Khoury College") set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/${CPACK_INSTALLATION_DIR}) set(CPACK_DESCRIPTION_FILE ${MCMINI_DOCS_DIR}/PackageDescription.txt) set(CPACK_RESOURCE_FILE_WELCOME ${MCMINI_DOCS_DIR}/Welcome.txt) set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A bite-sized model checker") set(CPACK_PACKAGE_CHECKSUM SHA512) set(CPACK_RESOURCE_FILE_README ${CMAKE_SOURCE_DIR}/README.md) set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/LICENSE.md) include(CPackIgnore) include(CPack)