Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
畅游知识海洋
json
提交
7e4ee23f
J
json
项目概览
畅游知识海洋
/
json
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
json
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
7e4ee23f
编写于
8月 14, 2017
作者:
T
Théo DELRIEU
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add single_header CMake target
上级
57d822b6
变更
5
展开全部
隐藏空白更改
内联
并排
Showing
5 changed file
with
19119 addition
and
27 deletion
+19119
-27
.gitignore
.gitignore
+3
-0
CMakeLists.txt
CMakeLists.txt
+20
-1
Makefile
Makefile
+28
-25
single_header/json.hpp
single_header/json.hpp
+19067
-0
test/Makefile
test/Makefile
+1
-1
未找到文件。
.gitignore
浏览文件 @
7e4ee23f
...
...
@@ -21,3 +21,6 @@ benchmarks/files/numbers/*.json
cmake-build-debug
test/test-*
amalgamate
single_include
third_party/Amalgamate
CMakeLists.txt
浏览文件 @
7e4ee23f
...
...
@@ -6,6 +6,12 @@ cmake_minimum_required(VERSION 3.0.0)
##
project
(
nlohmann_json VERSION 3.0.1 LANGUAGES CXX
)
##
## INCLUDE
##
##
include
(
ExternalProject
)
##
## OPTIONS
##
...
...
@@ -15,7 +21,7 @@ option(JSON_BuildTests "Build the unit tests when BUILD_TESTING is enabled." ON)
## CONFIGURATION
##
set
(
NLOHMANN_JSON_TARGET_NAME
${
PROJECT_NAME
}
)
set
(
NLOHMANN_JSON_SOURCE_DIR
"src
/
"
)
set
(
NLOHMANN_JSON_SOURCE_DIR
"src"
)
set
(
NLOHMANN_JSON_CONFIG_INSTALL_DIR
"lib/cmake/
${
PROJECT_NAME
}
"
)
set
(
NLOHMANN_JSON_INCLUDE_INSTALL_DIR
"include"
)
set
(
NLOHMANN_JSON_HEADER_INSTALL_DIR
"
${
NLOHMANN_JSON_INCLUDE_INSTALL_DIR
}
/nlohmann"
)
...
...
@@ -62,6 +68,19 @@ if(BUILD_TESTING AND JSON_BuildTests)
add_subdirectory
(
test
)
endif
()
ExternalProject_Add
(
amalgamate
GIT_REPOSITORY
"https://github.com/theodelrieu/Amalgamate"
CMAKE_ARGS
"-DCMAKE_INSTALL_PREFIX=
${
CMAKE_BINARY_DIR
}
"
)
# There is no way to tell amalgamate to force-write the output file even if it already exists...
add_custom_target
(
single_header ALL rm -f
"
${
CMAKE_SOURCE_DIR
}
/single_header/json.hpp"
COMMENT
"Amalgamating json.hpp..."
WORKING_DIRECTORY
${
CMAKE_SOURCE_DIR
}
/
${
NLOHMANN_JSON_SOURCE_DIR
}
DEPENDS amalgamate
COMMAND
"
${
CMAKE_BINARY_DIR
}
/bin/amalgamate"
-w '*.hpp' -i . json.hpp
"
${
CMAKE_SOURCE_DIR
}
/single_header/json.hpp"
)
##
## INSTALL
## install header files, generate and install cmake config files for find_package()
...
...
Makefile
浏览文件 @
7e4ee23f
.PHONY
:
pretty clean ChangeLog.md
SRCDIR
=
src
SRCS
=
${SRCDIR}
/json.hpp
\
${SRCDIR}
/json_fwd.hpp
\
${SRCDIR}
/detail/macro_scope.hpp
\
${SRCDIR}
/detail/macro_unscope.hpp
\
${SRCDIR}
/detail/meta.hpp
\
${SRCDIR}
/detail/exceptions.hpp
\
${SRCDIR}
/detail/value_t.hpp
\
${SRCDIR}
/detail/conversions/from_json.hpp
\
${SRCDIR}
/detail/conversions/to_json.hpp
\
${SRCDIR}
/detail/parsing/input_adapters.hpp
\
${SRCDIR}
/detail/parsing/lexer.hpp
\
${SRCDIR}
/detail/parsing/parser.hpp
\
${SRCDIR}
/detail/iterators/primitive_iterator.hpp
\
${SRCDIR}
/detail/iterators/internal_iterator.hpp
\
${SRCDIR}
/detail/iterators/iter_impl.hpp
\
${SRCDIR}
/detail/iterators/iteration_proxy.hpp
\
${SRCDIR}
/detail/iterators/json_reverse_iterator.hpp
\
${SRCDIR}
/detail/parsing/output_adapters.hpp
\
${SRCDIR}
/detail/parsing/binary_reader.hpp
\
${SRCDIR}
/detail/parsing/binary_writer.hpp
\
${SRCDIR}
/detail/serializer.hpp
\
${SRCDIR}
/detail/json_ref.hpp
\
${SRCDIR}
/adl_serializer.hpp
SRCDIR
=
./src
SRCS
=
$(SRCDIR)
/json.hpp
\
$(SRCDIR)
/json_fwd.hpp
\
$(SRCDIR)
/detail/macro_scope.hpp
\
$(SRCDIR)
/detail/macro_unscope.hpp
\
$(SRCDIR)
/detail/meta.hpp
\
$(SRCDIR)
/detail/exceptions.hpp
\
$(SRCDIR)
/detail/value_t.hpp
\
$(SRCDIR)
/detail/conversions/from_json.hpp
\
$(SRCDIR)
/detail/conversions/to_json.hpp
\
$(SRCDIR)
/detail/parsing/input_adapters.hpp
\
$(SRCDIR)
/detail/parsing/lexer.hpp
\
$(SRCDIR)
/detail/parsing/parser.hpp
\
$(SRCDIR)
/detail/iterators/primitive_iterator.hpp
\
$(SRCDIR)
/detail/iterators/internal_iterator.hpp
\
$(SRCDIR)
/detail/iterators/iter_impl.hpp
\
$(SRCDIR)
/detail/iterators/iteration_proxy.hpp
\
$(SRCDIR)
/detail/iterators/json_reverse_iterator.hpp
\
$(SRCDIR)
/detail/parsing/output_adapters.hpp
\
$(SRCDIR)
/detail/parsing/binary_reader.hpp
\
$(SRCDIR)
/detail/parsing/binary_writer.hpp
\
$(SRCDIR)
/detail/serializer.hpp
\
$(SRCDIR)
/detail/json_ref.hpp
\
$(SRCDIR)
/adl_serializer.hpp
UNAME
=
$(
shell
uname
)
CXX
=
clang++
# main target
all
:
...
...
@@ -42,7 +45,6 @@ all:
@
echo
"pedantic_gcc - run GCC with maximal warning flags"
@
echo
"pretty - beautify code with Artistic Style"
##########################################################################
# unit tests
##########################################################################
...
...
@@ -247,6 +249,7 @@ pretty:
$(SRCS)
test
/src/
*
.cpp
\
benchmarks/src/benchmarks.cpp doc/examples/
*
.cpp
##########################################################################
# changelog
##########################################################################
...
...
single_header/json.hpp
0 → 100644
浏览文件 @
7e4ee23f
此差异已折叠。
点击以展开。
test/Makefile
浏览文件 @
7e4ee23f
...
...
@@ -77,7 +77,7 @@ test-%: src/unit-%.o src/unit.o ../src/json.hpp thirdparty/catch/catch.hpp
TEST_PATTERN
?=
"*"
TEST_PREFIX
=
""
check
:
$(TESTCASES)
check
:
$(
OBJECTS) $(
TESTCASES)
@
cd
..
;
for
testcase
in
$(TESTCASES)
;
do
echo
"Executing
$$
testcase..."
;
$(TEST_PREFIX)
test
/
$$
testcase
$(TEST_PATTERN)
||
exit
1
;
done
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录