Skip to content

Commit e93fd16

Browse files
committed
cleaned up build, added small to list of reserved words as it is a
macro in MSVC
1 parent 5e13da3 commit e93fd16

File tree

20 files changed

+122
-145
lines changed

20 files changed

+122
-145
lines changed

CMakeLists.txt

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
cmake_minimum_required( VERSION 2.8.12 )
1+
cmake_minimum_required( VERSION 3.10 )
22

33
project( json_to_cpp_prj )
44

55
include( ExternalProject )
66

7-
find_package( Boost 1.58.0 COMPONENTS system date_time iostreams program_options filesystem regex unit_test_framework REQUIRED )
7+
find_package( Boost 1.60.0 COMPONENTS system date_time iostreams program_options filesystem regex unit_test_framework REQUIRED )
88

99
find_package( CURL )
1010
find_package( Threads REQUIRED )
@@ -17,25 +17,21 @@ set( CMAKE_CXX_STANDARD 17 CACHE STRING "The C++ standard whose features are req
1717

1818
include( "${CMAKE_SOURCE_DIR}/dependent_projects/CMakeListsCompiler.txt" )
1919

20-
set( DEP_ROOT_DIR_BASE "${CMAKE_SOURCE_DIR}/dependent_projects/build" )
2120
if( "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" )
22-
set( DEP_ROOT_DIR "${DEP_ROOT_DIR_BASE}/debug" )
2321
set( GLEAN_CACHE "${CMAKE_SOURCE_DIR}/.glean/debug" )
2422
set( GLEAN_CACHE2 "${CMAKE_SOURCE_DIR}/.glean/release" )
2523
elseif( "${CMAKE_BUILD_TYPE}" STREQUAL "Release" )
26-
set( DEP_ROOT_DIR "${DEP_ROOT_DIR_BASE}/release" )
2724
set( GLEAN_CACHE "${CMAKE_SOURCE_DIR}/.glean/release" )
2825
set( GLEAN_CACHE2 "${CMAKE_SOURCE_DIR}/.glean/debug" )
2926
else( )
30-
set( DEP_ROOT_DIR "${DEP_ROOT_DIR_BASE}/release" )
3127
set( GLEAN_CACHE "${CMAKE_SOURCE_DIR}/.glean/release" )
3228
set( GLEAN_CACHE2 "${CMAKE_SOURCE_DIR}/.glean/debug" )
3329
endif( )
3430

3531
message( "Building for: ${CMAKE_BUILD_TYPE}" )
3632
message( "Checking for glean cache: '${GLEAN_CACHE}'" )
3733
if( EXISTS "${GLEAN_CACHE}" )
38-
message( "using glean dependencies" )
34+
message( "using glean dependencies at ${GLEAN_CACHE}" )
3935
add_custom_target( dependency_stub )
4036
include_directories( SYSTEM "${GLEAN_CACHE}/include" )
4137
link_directories( "${GLEAN_CACHE}/lib" )
@@ -48,17 +44,6 @@ elseif( EXISTS "${CMAKE_SOURCE_DIR}/glean.cmake" )
4844
add_dependencies( dependency_stub ${DEP_PROJECT_DEPS} )
4945
include_directories( SYSTEM "${CMAKE_BINARY_DIR}/install/include" )
5046
link_directories( "${CMAKE_BINARY_DIR}/install/lib" )
51-
elseif( EXISTS "${DEP_ROOT_DIR}" )
52-
message( "${DEP_ROOT_DIR}" )
53-
message( "using dependency folder" )
54-
add_custom_target( dependency_stub )
55-
include_directories( SYSTEM "${DEP_ROOT_DIR}/install/include" )
56-
link_directories( "${DEP_ROOT_DIR}/install/lib" )
57-
else( )
58-
message( "downloading and building deps" )
59-
include( "${CMAKE_SOURCE_DIR}/dependent_projects/dependencies.txt" )
60-
add_library( dependency_stub STATIC "${CMAKE_SOURCE_DIR}/dependent_projects/stub.cpp" )
61-
add_dependencies( dependency_stub ${DEP_PROJECT_DEPS} )
6247
endif( )
6348

6449
set( HEADER_FOLDER "include" )
@@ -101,7 +86,7 @@ set( SOURCE_FILES
10186

10287
add_library( json_to_cpp_lib ${HEADER_FILES} ${SOURCE_FILES} )
10388
add_dependencies( json_to_cpp_lib dependency_stub )
104-
target_link_libraries( json_to_cpp_lib tz utf_range utf_string ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} )
89+
target_link_libraries( json_to_cpp_lib utf_range utf_string ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} )
10590

10691
add_executable( json_to_cpp ${HEADER_FILES} ${SOURCE_FOLDER}/main.cpp )
10792
add_dependencies( json_to_cpp dependency_stub )

dependent_projects/CMakeLists.txt

Lines changed: 0 additions & 20 deletions
This file was deleted.

dependent_projects/dependencies.txt

Lines changed: 0 additions & 50 deletions
This file was deleted.

glean.cmake

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
2+
include( ExternalProject )
3+
externalproject_add(
4+
temp_file_prj
5+
GIT_REPOSITORY "https://github.com/beached/libtemp_file.git"
6+
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/temp_file"
7+
INSTALL_DIR "${CMAKE_BINARY_DIR}/install"
8+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install -DGLEAN_INSTALL_ROOT=${CMAKE_BINARY_DIR}/install
9+
)
10+
11+
externalproject_add(
12+
header_libraries_prj
13+
GIT_REPOSITORY "https://github.com/beached/header_libraries.git"
14+
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/header_libraries"
15+
INSTALL_DIR "${CMAKE_BINARY_DIR}/install"
16+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install -DGLEAN_INSTALL_ROOT=${CMAKE_BINARY_DIR}/install
17+
)
18+
19+
externalproject_add(
20+
utf_range_prj
21+
GIT_REPOSITORY "https://github.com/beached/utf_range.git"
22+
DEPENDS header_libraries_prj
23+
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/utf_range"
24+
INSTALL_DIR "${CMAKE_BINARY_DIR}/install"
25+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install -DGLEAN_INSTALL_ROOT=${CMAKE_BINARY_DIR}/install
26+
)
27+
28+
externalproject_add(
29+
date_prj
30+
GIT_REPOSITORY "https://github.com/beached/date.git"
31+
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/date"
32+
INSTALL_DIR "${CMAKE_BINARY_DIR}/install"
33+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install -DGLEAN_INSTALL_ROOT=${CMAKE_BINARY_DIR}/install
34+
)
35+
36+
externalproject_add(
37+
parse_json_prj
38+
DEPENDS utf_range_prj date_prj header_libraries_prj
39+
GIT_REPOSITORY "https://github.com/beached/parse_json.git"
40+
SOURCE_DIR "${CMAKE_BINARY_DIR}/dependencies/parse_json"
41+
INSTALL_DIR "${CMAKE_BINARY_DIR}/install"
42+
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/install -DGLEAN_INSTALL_ROOT=${CMAKE_BINARY_DIR}/install
43+
)
44+
45+
include_directories( SYSTEM "${CMAKE_BINARY_DIR}/install/include" )
46+
link_directories( "${CMAKE_BINARY_DIR}/install/lib" )
47+
set( DEP_PROJECT_DEPS temp_file_prj utf_range_prj date_prj parse_json_prj header_libraries_prj )
48+

glean.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
"provides": "date",
2525
"download_type": "git",
2626
"build_type": "cmake",
27-
"uri": "https://github.com/howardhinnant/date.git",
28-
"cmake_args": [ "-DUSE_SYSTEM_TZ_DB=true" ]
27+
"uri": "https://github.com/beached/date.git",
28+
"cmake_args": [ "-DUSE_SYSTEM_TZ_DB=ON", "-DENABLE_DATE_TESTING=OFF", "-DCMAKE_CXX_STANDARD=17" ]
2929
},
3030
{
3131
"provides": "temp_file",

include/curl_t.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@ namespace daw::curl {
3131
daw::string_view user_agent );
3232

3333
bool is_url( daw::string_view path );
34-
} // namespace daw::m_curl
34+
} // namespace daw::curl

include/types/ti_array.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,9 @@ namespace daw::json_to_cpp::types {
4141
struct ti_object;
4242
struct ti_kv;
4343
struct ti_array {
44-
using child_items_t = std::variant<ti_null, ti_array, ti_boolean, ti_integral,
45-
ti_object, ti_real, ti_string, ti_kv>;
44+
using child_items_t =
45+
std::variant<ti_null, ti_array, ti_boolean, ti_integral, ti_object,
46+
ti_real, ti_string, ti_kv>;
4647

4748
using child_t = daw::ordered_map<std::string, child_items_t>;
4849

@@ -60,7 +61,8 @@ namespace daw::json_to_cpp::types {
6061
ti_array &operator=( ti_array const &rhs );
6162

6263
std::string name( ) const;
63-
std::string json_name( daw::string_view member_name, bool use_cpp20, daw::string_view parent_name ) const;
64+
std::string json_name( daw::string_view member_name, bool use_cpp20,
65+
daw::string_view parent_name ) const;
6466
std::string array_member_info( ) const;
6567
};
6668
} // namespace daw::json_to_cpp::types

include/types/ti_base.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -51,20 +51,20 @@ namespace daw::json_to_cpp::types::impl {
5151
auto var_to_pack_impl( Variant<Args...> ) -> pack_list<Args...>;
5252

5353
template<typename Variant>
54-
using var_to_pack_t = decltype(var_to_pack_impl( std::declval<Variant>( ) ) );
55-
54+
using var_to_pack_t =
55+
decltype( var_to_pack_impl( std::declval<Variant>( ) ) );
5656

5757
template<typename... Args0, typename... Args1>
58-
constexpr bool are_same( pack_list<Args0...>,
59-
pack_list<Args1...> ) noexcept {
58+
constexpr bool are_same( pack_list<Args0...>, pack_list<Args1...> ) noexcept {
6059

6160
if( sizeof...( Args0 ) != sizeof...( Args1 ) ) {
6261
return false;
6362
}
6463
return ( std::is_same_v<Args0, Args1> and ... );
6564
}
6665

67-
inline std::string format_member_name( daw::string_view name, bool use_cpp20, daw::string_view parent_name ) {
66+
inline std::string format_member_name( daw::string_view name, bool use_cpp20,
67+
daw::string_view parent_name ) {
6868
if( use_cpp20 ) {
6969
return "\"" + name + "\"";
7070
}

include/types/ti_boolean.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,11 @@ namespace daw::json_to_cpp::types {
4545
return "json_bool<no_name>";
4646
}
4747

48-
inline static std::string json_name( daw::string_view member_name,
49-
bool use_cpp20, daw::string_view parent_name ) noexcept {
50-
return "json_bool<" + impl::format_member_name( member_name, use_cpp20, parent_name ) +
48+
inline static std::string
49+
json_name( daw::string_view member_name, bool use_cpp20,
50+
daw::string_view parent_name ) noexcept {
51+
return "json_bool<" +
52+
impl::format_member_name( member_name, use_cpp20, parent_name ) +
5153
">";
5254
}
5355
};

include/types/ti_integral.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,12 @@ namespace daw::json_to_cpp::types {
4747
return "json_number<no_name, int64_t>";
4848
}
4949

50-
inline static std::string json_name( daw::string_view member_name, bool use_cpp20, daw::string_view parent_name ) noexcept {
51-
return "json_number<" + impl::format_member_name( member_name, use_cpp20, parent_name ) + ", int64_t>";
50+
inline static std::string
51+
json_name( daw::string_view member_name, bool use_cpp20,
52+
daw::string_view parent_name ) noexcept {
53+
return "json_number<" +
54+
impl::format_member_name( member_name, use_cpp20, parent_name ) +
55+
", int64_t>";
5256
}
5357
};
5458
} // namespace daw::json_to_cpp::types

0 commit comments

Comments
 (0)