# See the end of this file for copyright and license terms. cmake_minimum_required(VERSION 3.14.0) project(neo VERSION 0.1.0 LANGUAGES C) set(CMAKE_C_STANDARD 11) set(CMAKE_C_EXTENSIONS OFF) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) set_property(GLOBAL PROPERTY USE_FOLDERS ON) option(DEBUG "Enable debug features" ON) endif() find_package(Git QUIET) if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") option(GIT_SUBMODULE "Update git submodules during build" ON) if(GIT_SUBMODULE) message(STATUS "Git submodule update") execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} RESULT_VARIABLE GIT_SUBMOD_RESULT) if(NOT GIT_SUBMOD_RESULT EQUAL "0") message(FATAL_ERROR "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") endif() endif() execute_process( COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" OUTPUT_VARIABLE neo_GIT_REVISION ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) if (NOT "${neo_GIT_REVISION}" STREQUAL "") set(neo_VERSION_SUFFIX "-${neo_GIT_REVISION}") endif() endif() add_subdirectory(src) add_subdirectory(demo) add_subdirectory(doc) option(BUILD_TESTING "Build tests" ON) if((CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME OR NEO_BUILD_TESTING) AND BUILD_TESTING) enable_testing() add_subdirectory(test) endif() set(CPACK_PROJECT_NAME ${PROJECT_NAME}) set(CPACK_PROJECT_VERSION ${PROJECT_VERSION}) include(CPack) # This file is part of libneo. # Copyright (c) 2021 Fefie . # # libneo is non-violent software: you may only use, redistribute, # and/or modify it under the terms of the CNPLv6+ as found in # the LICENSE file in the source code root directory or at # . # # libneo comes with ABSOLUTELY NO WARRANTY, to the extent # permitted by applicable law. See the CNPLv6+ for details.