Merge pull request #1 from falbrechtskirchinger/add-bazel-support
Add Bazel build support
This commit is contained in:
commit
02d4f80943
@ -1,6 +1,6 @@
|
|||||||
cc_library(
|
cc_library(
|
||||||
name = "json",
|
name = "json",
|
||||||
hdrs = glob([
|
hdrs = [
|
||||||
"include/nlohmann/adl_serializer.hpp",
|
"include/nlohmann/adl_serializer.hpp",
|
||||||
"include/nlohmann/byte_container_with_subtype.hpp",
|
"include/nlohmann/byte_container_with_subtype.hpp",
|
||||||
"include/nlohmann/detail/abi_macros.hpp",
|
"include/nlohmann/detail/abi_macros.hpp",
|
||||||
@ -46,7 +46,7 @@ cc_library(
|
|||||||
"include/nlohmann/ordered_map.hpp",
|
"include/nlohmann/ordered_map.hpp",
|
||||||
"include/nlohmann/thirdparty/hedley/hedley.hpp",
|
"include/nlohmann/thirdparty/hedley/hedley.hpp",
|
||||||
"include/nlohmann/thirdparty/hedley/hedley_undef.hpp",
|
"include/nlohmann/thirdparty/hedley/hedley_undef.hpp",
|
||||||
]),
|
],
|
||||||
includes = ["include"],
|
includes = ["include"],
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
alwayslink = True,
|
alwayslink = True,
|
||||||
|
|||||||
@ -41,11 +41,11 @@ option(JSON_BuildTests "Build the unit tests when BUILD_TEST
|
|||||||
option(JSON_CI "Enable CI build targets." OFF)
|
option(JSON_CI "Enable CI build targets." OFF)
|
||||||
option(JSON_Diagnostics "Use extended diagnostic messages." OFF)
|
option(JSON_Diagnostics "Use extended diagnostic messages." OFF)
|
||||||
option(JSON_DisableEnumSerialization "Disable default integer enum serialization." OFF)
|
option(JSON_DisableEnumSerialization "Disable default integer enum serialization." OFF)
|
||||||
option(JSON_GenerateBazelBuildFiles "Generate Bazel Build files." OFF)
|
|
||||||
option(JSON_GlobalUDLs "Place use-defined string literals in the global namespace." ON)
|
option(JSON_GlobalUDLs "Place use-defined string literals in the global namespace." ON)
|
||||||
option(JSON_ImplicitConversions "Enable implicit conversions." ON)
|
option(JSON_ImplicitConversions "Enable implicit conversions." ON)
|
||||||
option(JSON_Install "Install CMake targets during install step." ${MAIN_PROJECT})
|
option(JSON_DisableEnumSerialization "Disable default integer enum serialization." OFF)
|
||||||
option(JSON_LegacyDiscardedValueComparison "Enable legacy discarded value comparison." OFF)
|
option(JSON_LegacyDiscardedValueComparison "Enable legacy discarded value comparison." OFF)
|
||||||
|
option(JSON_Install "Install CMake targets during install step." ${MAIN_PROJECT})
|
||||||
option(JSON_MultipleHeaders "Use non-amalgamated version of the library." ON)
|
option(JSON_MultipleHeaders "Use non-amalgamated version of the library." ON)
|
||||||
option(JSON_SystemInclude "Include as system headers (skip for clang-tidy)." OFF)
|
option(JSON_SystemInclude "Include as system headers (skip for clang-tidy)." OFF)
|
||||||
|
|
||||||
@ -154,15 +154,6 @@ if (JSON_BuildTests)
|
|||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
##
|
|
||||||
## BAZEL
|
|
||||||
## create Bazel BUILD file
|
|
||||||
##
|
|
||||||
if (JSON_BuildTests)
|
|
||||||
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/create_bazel_build_file.cmake)
|
|
||||||
create_bazel_build_file(${NLOHMANN_JSON_INCLUDE_BUILD_DIR})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
##
|
##
|
||||||
## INSTALL
|
## INSTALL
|
||||||
## install header files, generate and install cmake config files for find_package()
|
## install header files, generate and install cmake config files for find_package()
|
||||||
|
|||||||
2
Makefile
2
Makefile
@ -192,6 +192,8 @@ check-amalgamation:
|
|||||||
@mv $(AMALGAMATED_FILE)~ $(AMALGAMATED_FILE)
|
@mv $(AMALGAMATED_FILE)~ $(AMALGAMATED_FILE)
|
||||||
@mv $(AMALGAMATED_FWD_FILE)~ $(AMALGAMATED_FWD_FILE)
|
@mv $(AMALGAMATED_FWD_FILE)~ $(AMALGAMATED_FWD_FILE)
|
||||||
|
|
||||||
|
BUILD.bazel: $(SRCS)
|
||||||
|
cmake -P cmake/scripts/gen_bazel_build_file.cmake
|
||||||
|
|
||||||
##########################################################################
|
##########################################################################
|
||||||
# ChangeLog
|
# ChangeLog
|
||||||
|
|||||||
@ -1,21 +0,0 @@
|
|||||||
function (create_bazel_build_file NLOHMANN_JSON_INCLUDE_BUILD_DIR)
|
|
||||||
message(STATUS "Generating Bazel BUILD file")
|
|
||||||
|
|
||||||
file(GLOB_RECURSE NLOHMANN_JSON_HEADERS "${NLOHMANN_JSON_INCLUDE_BUILD_DIR}/*.hpp")
|
|
||||||
|
|
||||||
set(filename "BUILD.bazel")
|
|
||||||
file(WRITE "${filename}" "cc_library(\n")
|
|
||||||
file(APPEND "${filename}" " name = \"json\",\n")
|
|
||||||
file(APPEND "${filename}" " hdrs = glob([\n")
|
|
||||||
|
|
||||||
foreach(_header ${NLOHMANN_JSON_HEADERS})
|
|
||||||
file(RELATIVE_PATH _header_rel ${PROJECT_SOURCE_DIR} ${_header})
|
|
||||||
file(APPEND "${filename}" " \"${_header_rel}\",\n")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
file(APPEND "${filename}" " ]),\n")
|
|
||||||
file(APPEND "${filename}" " includes = [\"include\"],\n")
|
|
||||||
file(APPEND "${filename}" " visibility = [\"//visibility:public\"],\n")
|
|
||||||
file(APPEND "${filename}" " alwayslink = True,\n")
|
|
||||||
file(APPEND "${filename}" ")\n")
|
|
||||||
endfunction ()
|
|
||||||
24
cmake/scripts/gen_bazel_build_file.cmake
Normal file
24
cmake/scripts/gen_bazel_build_file.cmake
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# generate Bazel BUILD file
|
||||||
|
|
||||||
|
set(PROJECT_ROOT "${CMAKE_CURRENT_LIST_DIR}/../..")
|
||||||
|
set(BUILD_FILE "${PROJECT_ROOT}/BUILD.bazel")
|
||||||
|
|
||||||
|
file(GLOB_RECURSE HEADERS LIST_DIRECTORIES false RELATIVE "${PROJECT_ROOT}" "include/*.hpp")
|
||||||
|
|
||||||
|
file(WRITE "${BUILD_FILE}" [=[
|
||||||
|
cc_library(
|
||||||
|
name = "json",
|
||||||
|
hdrs = [
|
||||||
|
]=])
|
||||||
|
|
||||||
|
foreach(header ${HEADERS})
|
||||||
|
file(APPEND "${BUILD_FILE}" " \"${header}\",\n")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
file(APPEND "${BUILD_FILE}" [=[
|
||||||
|
],
|
||||||
|
includes = ["include"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
alwayslink = True,
|
||||||
|
)
|
||||||
|
]=])
|
||||||
Loading…
Reference in New Issue
Block a user