first
This commit is contained in:
commit
db1adbb838
35 changed files with 4408 additions and 0 deletions
84
CMakeLists.txt
Normal file
84
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
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}
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue