cmake_minimum_required(VERSION 3.10) set(ARCHEUS_STD_VERSION 0.0.0) project(archeus_std LANGUAGES C VERSION ${ARCHEUS_STD_VERSION} DESCRIPTION "libarcheus_std standard archeus c library") include(GNUInstallDirs) function(print var) message("${var} = ${${var}}") endfunction() option(ARCHEUS_STD_DEBUG "Build in debug mode" ON) option(ARCHEUS_STD_DEFAULT_CONFIG "Build with default config keys" ON) set(ARCHEUS_STD_FLAGS "") if(ARCHEUS_STD_DEBUG) string(APPEND ARCHEUS_STD_FLAGS "-Wall -Werror -g ") endif() if(ARCHEUS_STD_DEFAULT_CONFIG) string(APPEND ARCHEUS_STD_FLAGS "-DARC_DEFAULT_CONFIG ") endif() set(CMAKE_C_FLAGS ${ARCHEUS_STD_FLAGS}) add_library(archeus_std SHARED) target_sources(archeus_std PRIVATE src/std/config.c # src/arc_ecs.c src/std/hashtable.c src/std/io.c src/std/string.c src/std/vector.c src/std/handler.c src/std/defaults/config.c ) target_include_directories(archeus_std PRIVATE include ) install(TARGETS archeus_std EXPORT archeus_std_Exports LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) install(EXPORT archeus_std_Exports DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/archeus_std-${PROJECT_VERSION} ) install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} FILES_MATCHING PATTERN *.h ) include(CMakePackageConfigHelpers) set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_INCLUDEDIR}) set(LIBRARY_INSTALL_BIN ${CMAKE_INSTALL_LIBDIR}) configure_package_config_file( "${PROJECT_SOURCE_DIR}/cmake/archeus_std-config.cmake.in" "${PROJECT_BINARY_DIR}/archeus_std-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/archeus_std-${PROJECT_VERSION} PATH_VARS INCLUDE_INSTALL_DIR LIBRARY_INSTALL_BIN ) write_basic_package_version_file( "archeus_std-ConfigVersion.cmake" VERSION {PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/archeus_std-config.cmake ${CMAKE_CURRENT_BINARY_DIR}/archeus_std-ConfigVersion.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/archeus_std-${PROJECT_VERSION} )