removed STD archeus, moved console and ssh into linux folder. also added libdbus
This commit is contained in:
parent
119d1b2c64
commit
8fe402e04e
27 changed files with 622 additions and 145 deletions
124
CMakeLists.txt
124
CMakeLists.txt
|
|
@ -1,7 +1,7 @@
|
|||
cmake_minimum_required(VERSION 3.25)
|
||||
|
||||
set(ARCHEUS_STD_VERSION 0.0.0)
|
||||
project(archeus_std LANGUAGES C VERSION ${ARCHEUS_STD_VERSION} DESCRIPTION "libarcheus_std standard archeus c library")
|
||||
set(ARCHEUS_VERSION 0.0.0)
|
||||
project(archeus LANGUAGES C VERSION ${ARCHEUS_VERSION} DESCRIPTION "libarcheus c library")
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ endfunction()
|
|||
|
||||
#TODO: Might want to remove this
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
message("[Archeus C STD] Build Type not set, defaulting to Debug")
|
||||
message("[Archeus] Build Type not set, defaulting to Debug")
|
||||
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Default to Debug" FORCE)
|
||||
endif()
|
||||
|
||||
|
|
@ -24,39 +24,44 @@ add_compile_options(
|
|||
)
|
||||
|
||||
# ~ OPTIONS ~ #
|
||||
option(ARCHEUS_STD_DEFAULT_CONFIG "Build with default config keys" ON)
|
||||
option(ARCHEUS_STD_TESTS "Build with tests" OFF)
|
||||
option(ARCHEUS_DEFAULT_CONFIG "Build with default config keys" ON)
|
||||
option(ARCHEUS_TESTS "Build with tests" OFF)
|
||||
|
||||
set(ARCHEUS_STD_CONSOLE_BACKEND "NONE" CACHE STRING "Console Backend to build with")
|
||||
set_property(CACHE ARCHEUS_STD_CONSOLE_BACKEND PROPERTY STRINGS NONE NCURSES)
|
||||
set(ARCHEUS_WINDOW_BACKEND "NONE" CACHE STRING "Window Backend to build with")
|
||||
set_property(CACHE ARCHEUS_WINDOW_BACKEND PROPERTY STRINGS NONE SDL2 GLFW)
|
||||
|
||||
set(ARCHEUS_STD_WINDOW_BACKEND "NONE" CACHE STRING "Window Backend to build with")
|
||||
set_property(CACHE ARCHEUS_STD_WINDOW_BACKEND PROPERTY STRINGS NONE SDL2 GLFW)
|
||||
set(ARCHEUS_INPUT_BACKEND "NONE" CACHE STRING "Input Backend to build with, most likely should match Window Backend")
|
||||
set_property(CACHE ARCHEUS_INPUT_BACKEND PROPERTY STRINGS NONE SDL2 GLFW)
|
||||
|
||||
set(ARCHEUS_STD_INPUT_BACKEND "NONE" CACHE STRING "Input Backend to build with, most likely should match Window Backend")
|
||||
set_property(CACHE ARCHEUS_STD_INPUT_BACKEND PROPERTY STRINGS NONE SDL2 GLFW)
|
||||
set(ARCHEUS_GRAPHICS_BACKEND "NONE" CACHE STRING "Graphics Backend to build with")
|
||||
set_property(CACHE ARCHEUS_GRAPHICS_BACKEND PROPERTY STRINGS NONE SDL2 OPENGL)
|
||||
|
||||
set(ARCHEUS_STD_GRAPHICS_BACKEND "NONE" CACHE STRING "Graphics Backend to build with")
|
||||
set_property(CACHE ARCHEUS_STD_GRAPHICS_BACKEND PROPERTY STRINGS NONE SDL2 OPENGL)
|
||||
if(UNIX)
|
||||
set(ARCHEUS_CONSOLE_BACKEND "NONE" CACHE STRING "Console Backend to build with")
|
||||
set_property(CACHE ARCHEUS_CONSOLE_BACKEND PROPERTY STRINGS NONE NCURSES)
|
||||
|
||||
set(ARCHEUS_STD_SSH_BACKEND "NONE" CACHE STRING "SSH Backend to build with")
|
||||
set_property(CACHE ARCHEUS_STD_GRAPHICS_BACKEND PROPERTY STRINGS NONE LIBSSH)
|
||||
set(ARCHEUS_SSH_BACKEND "NONE" CACHE STRING "SSH Backend to build with")
|
||||
set_property(CACHE ARCHEUS_SSH_BACKEND PROPERTY STRINGS NONE LIBSSH)
|
||||
|
||||
set(ARCHEUS_DBUS_BACKEND "NONE" CACHE STRING "DBus Backend to build with")
|
||||
set_property(CACHE ARCHEUS_DBUS_BACKEND PROPERTY STRINGS NONE LIBDBUS)
|
||||
endif()
|
||||
|
||||
|
||||
# ~ INIT VARIABLES ~ #
|
||||
set(ARCHEUS_STD_FLAGS "")
|
||||
set(ARCHEUS_STD_LIBRARIES "")
|
||||
set(ARCHEUS_FLAGS "")
|
||||
set(ARCHEUS_LIBRARIES "")
|
||||
|
||||
set(ARCHEUS_STD_INCLUDE_DIRECTORIES
|
||||
set(ARCHEUS_INCLUDE_DIRECTORIES
|
||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
)
|
||||
|
||||
set(ARCHEUS_STD_LINK_LIBRARIES
|
||||
set(ARCHEUS_LINK_LIBRARIES
|
||||
PUBLIC m
|
||||
)
|
||||
|
||||
# ~ ARCHEUS_SOURCES ~ #
|
||||
set(ARCHEUS_STD_SOURCES
|
||||
set(ARCHEUS_SOURCES
|
||||
src/std/chemical.c
|
||||
src/std/errno.c
|
||||
src/std/handler.c
|
||||
|
|
@ -83,46 +88,43 @@ set(ARCHEUS_STD_SOURCES
|
|||
src/engine/state.c
|
||||
)
|
||||
|
||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||
string(APPEND ARCHEUS_STD_FLAGS "-Wall -Werror -g -ggdb -DARC_DEBUG ")
|
||||
endif()
|
||||
|
||||
# TODO: replace this with a better system
|
||||
if(ARCHEUS_STD_DEFAULT_CONFIG)
|
||||
string(APPEND ARCHEUS_STD_FLAGS "-DARC_DEFAULT_CONFIG ")
|
||||
endif()
|
||||
|
||||
# ~ NONE ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_none.cmake)
|
||||
none_check_and_init_needed(ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ${ARCHEUS_STD_WINDOW_BACKEND} ${ARCHEUS_STD_INPUT_BACKEND} ${ARCHEUS_STD_GRAPHICS_BACKEND})
|
||||
|
||||
# ~ NCURSES ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_ncurses.cmake)
|
||||
ncurses_check_and_init_needed(ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ${ARCHEUS_STD_CONSOLE_BACKEND})
|
||||
none_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_WINDOW_BACKEND} ${ARCHEUS_INPUT_BACKEND} ${ARCHEUS_GRAPHICS_BACKEND})
|
||||
|
||||
# ~ SDL2 ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_sdl2.cmake)
|
||||
sdl2_check_and_init_needed(ARCHEUS_STD_SOURCES ARCHEUS_STD_INCLUDE_DIRECTORIES ARCHEUS_STD_LINK_LIBRARIES ${ARCHEUS_STD_WINDOW_BACKEND} ${ARCHEUS_STD_INPUT_BACKEND} ${ARCHEUS_STD_GRAPHICS_BACKEND})
|
||||
sdl2_check_and_init_needed(ARCHEUS_SOURCES ARCHEUS_INCLUDE_DIRECTORIES ARCHEUS_LINK_LIBRARIES ${ARCHEUS_WINDOW_BACKEND} ${ARCHEUS_INPUT_BACKEND} ${ARCHEUS_GRAPHICS_BACKEND})
|
||||
|
||||
# ~ OPENGL ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_opengl.cmake)
|
||||
opengl_check_and_init_needed(ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ${ARCHEUS_STD_GRAPHICS_BACKEND})
|
||||
opengl_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_GRAPHICS_BACKEND})
|
||||
|
||||
# ~ GLFW ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_glfw.cmake)
|
||||
glfw_check_and_init_needed(ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ${ARCHEUS_STD_WINDOW_BACKEND} ${ARCHEUS_STD_INPUT_BACKEND})
|
||||
glfw_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_WINDOW_BACKEND} ${ARCHEUS_INPUT_BACKEND})
|
||||
|
||||
# ~ LIBSSH ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_libssh.cmake)
|
||||
libssh_check_and_init_needed(ARCHEUS_STD_FLAGS ARCHEUS_STD_SOURCES ${ARCHEUS_STD_SSH_BACKEND})
|
||||
if(UNIX)
|
||||
# ~ NCURSES ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_ncurses.cmake)
|
||||
ncurses_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_CONSOLE_BACKEND})
|
||||
|
||||
#if(ARCHEUS_STD_GLEW)
|
||||
# string(APPEND ARCHEUS_STD_FLAGS "-DARC_GLEW ")
|
||||
# ~ LIBSSH ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_libssh.cmake)
|
||||
libssh_check_and_init_needed(ARCHEUS_FLAGS ARCHEUS_SOURCES ${ARCHEUS_SSH_BACKEND})
|
||||
|
||||
# ~ LIBDBUS ~ #
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/archeus_libdbus.cmake)
|
||||
libdbus_check_and_init_needed(ARCHEUS_SOURCES ARCHEUS_INCLUDE_DIRECTORIES ARCHEUS_LINK_LIBRARIES ${ARCHEUS_DBUS_BACKEND})
|
||||
endif()
|
||||
|
||||
#if(ARCHEUS_GLEW)
|
||||
# string(APPEND ARCHEUS_FLAGS "-DARC_GLEW ")
|
||||
#endif()
|
||||
|
||||
set(CMAKE_C_FLAGS ${ARCHEUS_STD_FLAGS})
|
||||
set(CMAKE_C_FLAGS ${ARCHEUS_FLAGS})
|
||||
|
||||
if(ARCHEUS_STD_TESTS)
|
||||
if(ARCHEUS_TESTS)
|
||||
add_executable(tests
|
||||
tests/test.c
|
||||
|
||||
|
|
@ -133,32 +135,32 @@ if(ARCHEUS_STD_TESTS)
|
|||
tests/std/parser/csv.c
|
||||
tests/std/parser/parserlang.c
|
||||
|
||||
${ARCHEUS_STD_SOURCES}
|
||||
${ARCHEUS_SOURCES}
|
||||
)
|
||||
|
||||
target_compile_options(tests PUBLIC "-DARC_DEBUG_LOG_STREAM_OVERRIDE")
|
||||
target_include_directories(tests ${ARCHEUS_STD_INCLUDE_DIRECTORIES})
|
||||
target_link_libraries(tests ${ARCHEUS_STD_LINK_LIBRARIES})
|
||||
target_include_directories(tests ${ARCHEUS_INCLUDE_DIRECTORIES})
|
||||
target_link_libraries(tests ${ARCHEUS_LINK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(WIN32 AND NOT MSVC)
|
||||
add_library(archeus_std STATIC ${ARCHEUS_STD_SOURCES})
|
||||
add_library(archeus STATIC ${ARCHEU_SOURCES})
|
||||
else()
|
||||
add_library(archeus_std SHARED ${ARCHEUS_STD_SOURCES})
|
||||
add_library(archeus SHARED ${ARCHEUS_SOURCES})
|
||||
endif()
|
||||
|
||||
target_include_directories(archeus_std ${ARCHEUS_STD_INCLUDE_DIRECTORIES})
|
||||
target_include_directories(archeus ${ARCHEUS_INCLUDE_DIRECTORIES})
|
||||
|
||||
target_link_libraries(archeus_std ${ARCHEUS_STD_LINK_LIBRARIES})
|
||||
target_link_libraries(archeus ${ARCHEUS_LINK_LIBRARIES})
|
||||
|
||||
install(TARGETS archeus_std EXPORT archeus_std_Exports
|
||||
install(TARGETS archeus EXPORT archeus_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(EXPORT archeus_Exports
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/archeus-${PROJECT_VERSION}
|
||||
)
|
||||
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/include/
|
||||
|
|
@ -172,22 +174,22 @@ 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"
|
||||
"${PROJECT_SOURCE_DIR}/cmake/archeus-config.cmake.in"
|
||||
"${PROJECT_BINARY_DIR}/archeus-config.cmake"
|
||||
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/archeus_std-${PROJECT_VERSION}
|
||||
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/archeus-${PROJECT_VERSION}
|
||||
PATH_VARS INCLUDE_INSTALL_DIR LIBRARY_INSTALL_BIN
|
||||
)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"archeus_std-ConfigVersion.cmake"
|
||||
"archeus-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
|
||||
${CMAKE_CURRENT_BINARY_DIR}/archeus-config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/archeus-ConfigVersion.cmake
|
||||
DESTINATION
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/archeus_std-${PROJECT_VERSION}
|
||||
${CMAKE_INSTALL_LIBDIR}/cmake/archeus-${PROJECT_VERSION}
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue