mirror of
https://github.com/biojppm/rapidyaml.git
synced 2026-01-18 21:41:18 +01:00
install WIP
This commit is contained in:
@@ -82,20 +82,19 @@ c4_add_library(ryml
|
||||
if(NOT RYML_STANDALONE)
|
||||
target_link_libraries(ryml PUBLIC c4core)
|
||||
else()
|
||||
function(_ryml_add_sources_to_lib lib filelist filedir)
|
||||
file(STRINGS ${filelist} _src)
|
||||
_c4_transform_to_full_path(_src _ ${filedir})
|
||||
target_sources(${lib} PRIVATE ${_src})
|
||||
target_include_directories(${lib} PUBLIC $<BUILD_INTERFACE:${filedir}>)
|
||||
list(FILTER _src EXCLUDE REGEX .*cpp)
|
||||
c4_install_files("${_src}" ${CMAKE_INSTALL_PREFIX}/include ${filedir})
|
||||
endfunction()
|
||||
_ryml_add_sources_to_lib(ryml ext/c4core.src.txt ${CMAKE_CURRENT_LIST_DIR}/ext/c4core.src)
|
||||
if(RYML_BUILD_TESTS OR RYML_BUILD_BENCHMARKS OR RYML_BUILD_TOOLS)
|
||||
add_library(ryml-c4core_dev)
|
||||
target_link_libraries(ryml-c4core_dev PUBLIC ryml)
|
||||
_ryml_add_sources_to_lib(ryml-c4core_dev ext/c4core.dev.txt ${CMAKE_CURRENT_LIST_DIR}/ext/c4core.dev)
|
||||
endif()
|
||||
message(STATUS aqui0)
|
||||
file(STRINGS ext/c4core.src.txt _src)
|
||||
message(STATUS aqui1)
|
||||
_c4_transform_to_full_path(_src _ ${CMAKE_CURRENT_LIST_DIR}/ext/c4core.src)
|
||||
message(STATUS aqui2)
|
||||
target_sources(ryml PRIVATE ${_src})
|
||||
message(STATUS aqui3)
|
||||
target_include_directories(ryml PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/ext/c4core.src>)
|
||||
message(STATUS aqui4)
|
||||
list(FILTER _src EXCLUDE REGEX .*cpp)
|
||||
message(STATUS aqui5)
|
||||
c4_install_files("${_src}" ${CMAKE_INSTALL_PREFIX}/include ${CMAKE_CURRENT_LIST_DIR}/ext/c4core.src)
|
||||
message(STATUS aqui6)
|
||||
endif()
|
||||
|
||||
if(RYML_WITH_TAB_TOKENS)
|
||||
|
||||
@@ -314,7 +314,6 @@ void bm_rymlints_yaml_inplace(bm::State& st)
|
||||
void bm_rymlints_yaml_inplace_reserve(bm::State& st)
|
||||
{
|
||||
c4::substr src = c4::to_substr(s_bm_case->in_place).trimr('\0');
|
||||
int sz = ryml::extra::estimate_events_ints_size(src);
|
||||
for(auto _ : st)
|
||||
{
|
||||
st.PauseTiming();
|
||||
@@ -349,7 +348,6 @@ void bm_rymlints_yaml_inplace_nofilter(bm::State& st)
|
||||
void bm_rymlints_yaml_inplace_nofilter_reserve(bm::State& st)
|
||||
{
|
||||
c4::substr src = c4::to_substr(s_bm_case->in_place).trimr('\0');
|
||||
int sz = ryml::extra::estimate_events_ints_size(src);
|
||||
for(auto _ : st)
|
||||
{
|
||||
st.PauseTiming();
|
||||
@@ -388,14 +386,14 @@ void bm_rymlints_json_inplace(bm::State& st)
|
||||
void bm_rymlints_json_inplace_reserve(bm::State& st)
|
||||
{
|
||||
c4::substr src = c4::to_substr(s_bm_case->in_place).trimr('\0');
|
||||
int sz = ryml::extra::estimate_events_ints_size(src);
|
||||
size_t sz = (size_t)ryml::extra::estimate_events_ints_size(src);
|
||||
for(auto _ : st)
|
||||
{
|
||||
ONLY_FOR_JSON;
|
||||
st.PauseTiming();
|
||||
s_bm_case->prepare(kResetInPlace);
|
||||
IntObjects obj;
|
||||
obj.data.resize(src);
|
||||
obj.data.resize(sz, src.len);
|
||||
st.ResumeTiming();
|
||||
parse_json_inplace(s_bm_case->filename, src, obj.parser, &obj.data);
|
||||
bm::DoNotOptimize(obj);
|
||||
@@ -425,14 +423,14 @@ void bm_rymlints_json_inplace_nofilter(bm::State& st)
|
||||
void bm_rymlints_json_inplace_nofilter_reserve(bm::State& st)
|
||||
{
|
||||
c4::substr src = c4::to_substr(s_bm_case->in_place).trimr('\0');
|
||||
int sz = ryml::extra::estimate_events_ints_size(src);
|
||||
size_t sz = (size_t)ryml::extra::estimate_events_ints_size(src);
|
||||
for(auto _ : st)
|
||||
{
|
||||
ONLY_FOR_JSON;
|
||||
st.PauseTiming();
|
||||
s_bm_case->prepare(kResetInPlace);
|
||||
IntObjects obj(ryml::ParserOptions().scalar_filtering(false));
|
||||
obj.data.resize(src);
|
||||
obj.data.resize(sz, src.len);
|
||||
st.ResumeTiming();
|
||||
parse_json_inplace(s_bm_case->filename, src, obj.parser, &obj.data);
|
||||
bm::DoNotOptimize(obj);
|
||||
|
||||
@@ -2,7 +2,6 @@ c4/enum.hpp
|
||||
c4/bitmask.hpp
|
||||
c4/c4_push.hpp
|
||||
c4/c4_pop.hpp
|
||||
c4/dump.hpp
|
||||
c4/memory_resource.hpp
|
||||
c4/memory_resource.cpp
|
||||
c4/restrict.hpp
|
||||
|
||||
@@ -6,6 +6,7 @@ c4/charconv.hpp
|
||||
c4/compiler.hpp
|
||||
c4/config.hpp
|
||||
c4/cpu.hpp
|
||||
c4/dump.hpp
|
||||
c4/error.cpp
|
||||
c4/error.hpp
|
||||
c4/export.hpp
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
# these are used both for testing and benchmarking
|
||||
|
||||
|
||||
set(C4FS_DIR ${CMAKE_CURRENT_BINARY_DIR}/subprojects/c4fs)
|
||||
c4_download_remote_proj(c4fs C4FS_DIR
|
||||
GIT_REPOSITORY https://github.com/biojppm/c4fs
|
||||
@@ -8,13 +10,13 @@ c4_add_library(c4fs
|
||||
${C4FS_DIR}/src/c4/fs/fs.hpp
|
||||
${C4FS_DIR}/src/c4/fs/fs.cpp
|
||||
INC_DIRS
|
||||
${C4FS_DIR}/src
|
||||
${CMAKE_CURRENT_LIST_DIR}/c4core.src
|
||||
${CMAKE_CURRENT_LIST_DIR}/c4core.dev
|
||||
${C4FS_DIR}/src
|
||||
LIBS
|
||||
ryml
|
||||
)
|
||||
|
||||
|
||||
set(C4LOG_DIR ${CMAKE_CURRENT_BINARY_DIR}/subprojects/c4log)
|
||||
c4_download_remote_proj(c4log C4LOG_DIR
|
||||
GIT_REPOSITORY https://github.com/biojppm/c4log
|
||||
@@ -24,12 +26,25 @@ c4_add_library(c4log
|
||||
${C4LOG_DIR}/src/c4/log/log.hpp
|
||||
${C4LOG_DIR}/src/c4/log/log.cpp
|
||||
INC_DIRS
|
||||
${C4LOG_DIR}/src
|
||||
${CMAKE_CURRENT_LIST_DIR}/c4core.src
|
||||
${CMAKE_CURRENT_LIST_DIR}/c4core.dev
|
||||
${C4LOG_DIR}/src
|
||||
LIBS
|
||||
ryml
|
||||
)
|
||||
if(TARGET ryml-c4core_dev)
|
||||
|
||||
|
||||
if(RYML_STANDALONE)
|
||||
message(STATUS "wtf0: ${CMAKE_CURRENT_LIST_DIR}")
|
||||
message(STATUS "wtf1: ${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
message(STATUS "wtf2: ${CMAKE_SOURCE_DIR}")
|
||||
add_library(ryml-c4core_dev)
|
||||
file(STRINGS ext/c4core.dev.txt _src)
|
||||
_c4_transform_to_full_path(_src _ ${CMAKE_CURRENT_LIST_DIR}/c4core.dev)
|
||||
target_sources(ryml-c4core_dev PRIVATE ${_src})
|
||||
target_include_directories(ryml PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/c4core.dev>)
|
||||
list(FILTER _src EXCLUDE REGEX .*cpp)
|
||||
target_include_directories(ryml-c4core_dev PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/c4core.src)
|
||||
target_link_libraries(c4fs PRIVATE ryml-c4core_dev)
|
||||
target_link_libraries(c4log PRIVATE ryml-c4core_dev)
|
||||
endif()
|
||||
|
||||
@@ -2,7 +2,7 @@ c4_setup_testing(GTEST)
|
||||
|
||||
|
||||
function(ryml_add_test_no_lib test_name)
|
||||
c4_add_executable(${test_name} LIBS ryml FOLDER test ${ARGN})
|
||||
c4_add_executable(${test_name} LIBS ryml ryml-c4core_dev FOLDER test ${ARGN})
|
||||
if(RYML_DBG)
|
||||
target_compile_definitions(${test_name} PRIVATE RYML_DBG)
|
||||
c4_target_compile_flags(${test_name} PUBLIC GCC -Wno-useless-cast)
|
||||
@@ -10,7 +10,8 @@ function(ryml_add_test_no_lib test_name)
|
||||
c4_add_test(${test_name})
|
||||
endfunction()
|
||||
ryml_add_test_no_lib(ryml-test-quickstart
|
||||
SOURCES ../samples/quickstart.cpp)
|
||||
SOURCES ../samples/quickstart.cpp
|
||||
)
|
||||
ryml_add_test_no_lib(ryml-test-quickstart-ints
|
||||
SOURCES
|
||||
../samples/quickstart-ints.cpp
|
||||
@@ -18,8 +19,9 @@ ryml_add_test_no_lib(ryml-test-quickstart-ints
|
||||
../src_extra/c4/yml/extra/event_handler_ints.cpp
|
||||
../src_extra/c4/yml/extra/ints_utils.hpp
|
||||
../src_extra/c4/yml/extra/ints_utils.cpp
|
||||
INC_DIRS ../ext/c4core.dev
|
||||
INC_DIRS ../src_extra)
|
||||
INC_DIRS
|
||||
../src_extra
|
||||
)
|
||||
|
||||
|
||||
c4_add_library(ryml-_testlib LIBRARY_TYPE STATIC
|
||||
@@ -46,7 +48,8 @@ c4_add_library(ryml-_testlib LIBRARY_TYPE STATIC
|
||||
../src_extra/c4/yml/extra/string.hpp
|
||||
INC_DIRS ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/../src_extra
|
||||
LIBS ryml c4fs gtest
|
||||
FOLDER test)
|
||||
FOLDER test
|
||||
)
|
||||
if(BUILD_SHARED_LIBS)
|
||||
# this is needed to resolve get_case() because it is provided by
|
||||
# the test linking to this library
|
||||
@@ -73,7 +76,7 @@ c4_add_library(ryml-_testgroup LIBRARY_TYPE STATIC
|
||||
test_lib/test_group.hpp
|
||||
test_lib/test_group.def.hpp
|
||||
test_lib/test_group.cpp
|
||||
LIBS ryml ryml-_testlib c4fs
|
||||
LIBS ryml ryml-c4core_dev ryml-_testlib c4fs
|
||||
FOLDER test)
|
||||
if(RYML_DBG)
|
||||
target_compile_definitions(ryml-_testgroup PUBLIC RYML_DBG)
|
||||
@@ -265,7 +268,7 @@ if(RYML_TEST_SUITE)
|
||||
testsuite/testsuite_events.hpp
|
||||
testsuite/testsuite_parts.cpp
|
||||
testsuite/testsuite_parts.hpp
|
||||
LIBS ryml-_testlib c4log
|
||||
LIBS ryml-_testlib ryml-c4core_dev c4log
|
||||
INC_DIRS ${CMAKE_CURRENT_LIST_DIR}/../src_extra
|
||||
FOLDER test)
|
||||
add_dependencies(ryml-test-build ryml-test-suite)
|
||||
|
||||
@@ -3,7 +3,7 @@ project(ryml
|
||||
DESCRIPTION "Test project for an installed ryml"
|
||||
HOMEPAGE_URL "https://github.com/biojppm/rapidyaml"
|
||||
LANGUAGES CXX)
|
||||
include(../../ext/c4core/cmake/c4Project.cmake)
|
||||
include(../../proj/c4proj/c4Project.cmake)
|
||||
c4_project(VERSION 0.10.0
|
||||
AUTHOR "Joao Paulo Magalhaes <dev@jpmag.me>")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user