mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 21:31:08 -06:00
bootstrap: Unconditionally build libjsoncpp
This commit is contained in:
@@ -38,7 +38,6 @@ using ObjectErrorGenerator =
|
|||||||
std::function<ErrorGenerator(ObjectError, const Json::Value::Members&)>;
|
std::function<ErrorGenerator(ObjectError, const Json::Value::Members&)>;
|
||||||
const auto EXPECTED_TYPE = [](const std::string& type) {
|
const auto EXPECTED_TYPE = [](const std::string& type) {
|
||||||
return [type](const Json::Value* value, cmJSONState* state) -> void {
|
return [type](const Json::Value* value, cmJSONState* state) -> void {
|
||||||
#if !defined(CMAKE_BOOTSTRAP)
|
|
||||||
if (state->key().empty()) {
|
if (state->key().empty()) {
|
||||||
state->AddErrorAtValue(cmStrCat("Expected ", type), value);
|
state->AddErrorAtValue(cmStrCat("Expected ", type), value);
|
||||||
return;
|
return;
|
||||||
@@ -48,7 +47,6 @@ const auto EXPECTED_TYPE = [](const std::string& type) {
|
|||||||
errMsg = cmStrCat(errMsg, ", got: ", value->asString());
|
errMsg = cmStrCat(errMsg, ", got: ", value->asString());
|
||||||
}
|
}
|
||||||
state->AddErrorAtValue(errMsg, value);
|
state->AddErrorAtValue(errMsg, value);
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
const auto INVALID_STRING = [](const Json::Value* value,
|
const auto INVALID_STRING = [](const Json::Value* value,
|
||||||
@@ -75,7 +73,6 @@ const auto INVALID_NAMED_OBJECT =
|
|||||||
const Json::Value::Members& extraFields) -> ErrorGenerator {
|
const Json::Value::Members& extraFields) -> ErrorGenerator {
|
||||||
return [nameGenerator, errorType, extraFields](
|
return [nameGenerator, errorType, extraFields](
|
||||||
const Json::Value* value, cmJSONState* state) -> void {
|
const Json::Value* value, cmJSONState* state) -> void {
|
||||||
#if !defined(CMAKE_BOOTSTRAP)
|
|
||||||
std::string name = nameGenerator(value, state);
|
std::string name = nameGenerator(value, state);
|
||||||
switch (errorType) {
|
switch (errorType) {
|
||||||
case ObjectError::RequiredMissing:
|
case ObjectError::RequiredMissing:
|
||||||
@@ -102,7 +99,6 @@ const auto INVALID_NAMED_OBJECT =
|
|||||||
value);
|
value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
55
bootstrap
55
bootstrap
@@ -414,6 +414,7 @@ CMAKE_CXX_SOURCES="\
|
|||||||
cmInstallTargetGenerator \
|
cmInstallTargetGenerator \
|
||||||
cmInstallTargetsCommand \
|
cmInstallTargetsCommand \
|
||||||
cmInstalledFile \
|
cmInstalledFile \
|
||||||
|
cmJSONState \
|
||||||
cmLDConfigLDConfigTool \
|
cmLDConfigLDConfigTool \
|
||||||
cmLDConfigTool \
|
cmLDConfigTool \
|
||||||
cmLinkDirectoriesCommand \
|
cmLinkDirectoriesCommand \
|
||||||
@@ -588,6 +589,12 @@ LIBRHASH_C_SOURCES="\
|
|||||||
librhash/sha512.c \
|
librhash/sha512.c \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
JSONCPP_CXX_SOURCES="\
|
||||||
|
src/lib_json/json_reader.cpp \
|
||||||
|
src/lib_json/json_value.cpp \
|
||||||
|
src/lib_json/json_writer.cpp \
|
||||||
|
"
|
||||||
|
|
||||||
if ${cmake_system_mingw}; then
|
if ${cmake_system_mingw}; then
|
||||||
LIBUV_C_SOURCES="\
|
LIBUV_C_SOURCES="\
|
||||||
src/fs-poll.c \
|
src/fs-poll.c \
|
||||||
@@ -1091,12 +1098,6 @@ if test "${cmake_bootstrap_generator}" = "Ninja"; then
|
|||||||
cmFortranLexer \
|
cmFortranLexer \
|
||||||
cmFortranParser \
|
cmFortranParser \
|
||||||
"
|
"
|
||||||
|
|
||||||
JSONCPP_CXX_SOURCES="\
|
|
||||||
src/lib_json/json_reader.cpp \
|
|
||||||
src/lib_json/json_value.cpp \
|
|
||||||
src/lib_json/json_writer.cpp \
|
|
||||||
"
|
|
||||||
else
|
else
|
||||||
CMAKE_CXX_SOURCES="${CMAKE_CXX_SOURCES} \
|
CMAKE_CXX_SOURCES="${CMAKE_CXX_SOURCES} \
|
||||||
cmDepends \
|
cmDepends \
|
||||||
@@ -1110,8 +1111,6 @@ else
|
|||||||
cmMakefileUtilityTargetGenerator \
|
cmMakefileUtilityTargetGenerator \
|
||||||
cmProcessTools \
|
cmProcessTools \
|
||||||
"
|
"
|
||||||
|
|
||||||
JSONCPP_CXX_SOURCES=
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Add Cygwin-specific flags
|
# Add Cygwin-specific flags
|
||||||
@@ -1725,12 +1724,10 @@ if test "x${bootstrap_system_librhash}" = "x"; then
|
|||||||
objs="${objs} rhash-`cmake_obj ${a}`"
|
objs="${objs} rhash-`cmake_obj ${a}`"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if test "${cmake_bootstrap_generator}" = "Ninja"; then
|
if test "x${bootstrap_system_jsoncpp}" = "x"; then
|
||||||
if test "x${bootstrap_system_jsoncpp}" = "x"; then
|
for a in ${JSONCPP_CXX_SOURCES}; do
|
||||||
for a in ${JSONCPP_CXX_SOURCES}; do
|
objs="${objs} jsoncpp-`cmake_obj ${a}`"
|
||||||
objs="${objs} jsoncpp-`cmake_obj ${a}`"
|
done
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
libs=""
|
libs=""
|
||||||
@@ -1799,17 +1796,15 @@ if test "x${bootstrap_system_librhash}" != "x"; then
|
|||||||
libs="${libs} -lrhash"
|
libs="${libs} -lrhash"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "${cmake_bootstrap_generator}" = "Ninja"; then
|
jsoncpp_cxx_flags=
|
||||||
jsoncpp_cxx_flags=
|
if test "x${bootstrap_system_jsoncpp}" = "x"; then
|
||||||
if test "x${bootstrap_system_jsoncpp}" = "x"; then
|
jsoncpp_cxx_flags="${jsoncpp_cxx_flags} `cmake_escape_shell "-I${cmake_source_dir}/Utilities/cmjsoncpp/include"`"
|
||||||
jsoncpp_cxx_flags="${jsoncpp_cxx_flags} `cmake_escape_shell "-I${cmake_source_dir}/Utilities/cmjsoncpp/include"`"
|
else
|
||||||
else
|
if test `which pkg-config`; then
|
||||||
if test `which pkg-config`; then
|
use_jsoncpp_flags="`pkg-config --cflags jsoncpp`"
|
||||||
use_jsoncpp_flags="`pkg-config --cflags jsoncpp`"
|
cmake_cxx_flags="${cmake_cxx_flags} ${use_jsoncpp_flags}"
|
||||||
cmake_cxx_flags="${cmake_cxx_flags} ${use_jsoncpp_flags}"
|
|
||||||
fi
|
|
||||||
libs="${libs} -ljsoncpp"
|
|
||||||
fi
|
fi
|
||||||
|
libs="${libs} -ljsoncpp"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "x${cmake_ansi_cxx_flags}" != "x"; then
|
if test "x${cmake_ansi_cxx_flags}" != "x"; then
|
||||||
@@ -1949,13 +1944,11 @@ if test "x${bootstrap_system_librhash}" = "x"; then
|
|||||||
write_source_rule "c" "rhash-`cmake_obj ${a}`" "${src}" ""
|
write_source_rule "c" "rhash-`cmake_obj ${a}`" "${src}" ""
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if test "${cmake_bootstrap_generator}" = "Ninja"; then
|
if test "x${bootstrap_system_jsoncpp}" = "x"; then
|
||||||
if test "x${bootstrap_system_jsoncpp}" = "x"; then
|
for a in ${JSONCPP_CXX_SOURCES}; do
|
||||||
for a in ${JSONCPP_CXX_SOURCES}; do
|
src=`cmake_escape_artifact "${cmake_source_dir}/Utilities/cmjsoncpp/${a}"`
|
||||||
src=`cmake_escape_artifact "${cmake_source_dir}/Utilities/cmjsoncpp/${a}"`
|
write_source_rule "cxx" "jsoncpp-`cmake_obj ${a}`" "${src}" "${jsoncpp_cxx_flags}"
|
||||||
write_source_rule "cxx" "jsoncpp-`cmake_obj ${a}`" "${src}" "${jsoncpp_cxx_flags}"
|
done
|
||||||
done
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
if test "${cmake_bootstrap_generator}" = "Ninja"; then
|
if test "${cmake_bootstrap_generator}" = "Ninja"; then
|
||||||
echo "
|
echo "
|
||||||
|
|||||||
Reference in New Issue
Block a user