nix build: xo-reader: build + install docs+examples + build fix
This commit is contained in:
parent
35334154c8
commit
d719705f2e
5 changed files with 50 additions and 12 deletions
|
|
@ -77,8 +77,6 @@ let
|
|||
|
||||
in
|
||||
{
|
||||
xo-reader = self.callPackage pkgs/xo-reader.nix {};
|
||||
|
||||
xo-jit = self.callPackage pkgs/xo-jit.nix { #stdenv = jitStdenv;
|
||||
#clang = llvmPackages2.clang;
|
||||
llvm = llvmPackages1.llvm; };
|
||||
|
|
@ -131,6 +129,8 @@ let
|
|||
xo-expression = self.callPackage pkgs/xo-expression.nix { buildExamples = true; };
|
||||
xo-pyexpression = self.callPackage pkgs/xo-pyexpression.nix {};
|
||||
xo-tokenizer = self.callPackage pkgs/xo-tokenizer.nix { buildDocs = true; buildExamples = true; };
|
||||
xo-reader = self.callPackage pkgs/xo-reader.nix { buildDocs = true; buildExamples = true; };
|
||||
|
||||
xo-pyjit = self.callPackage pkgs/xo-pyjit.nix {};
|
||||
#
|
||||
xo-userenv = self.callPackage pkgs/xo-userenv.nix {};
|
||||
|
|
|
|||
|
|
@ -1,8 +1,15 @@
|
|||
{
|
||||
# dependencies
|
||||
stdenv, cmake, catch2, replxx,
|
||||
lib, stdenv, cmake, catch2, replxx,
|
||||
|
||||
xo-cmake, xo-expression, xo-tokenizer
|
||||
python3Packages,
|
||||
|
||||
doxygen, sphinx, graphviz,
|
||||
|
||||
xo-cmake, xo-expression, xo-tokenizer,
|
||||
|
||||
buildDocs ? false,
|
||||
buildExamples ? false,
|
||||
} :
|
||||
|
||||
stdenv.mkDerivation (finalattrs:
|
||||
|
|
@ -12,11 +19,35 @@ stdenv.mkDerivation (finalattrs:
|
|||
|
||||
src = ../xo-reader;
|
||||
|
||||
cmakeFlags = ["-DCMAKE_MODULE_PATH=${xo-cmake}/share/cmake"];
|
||||
cmakeFlags = ["-DCMAKE_MODULE_PATH=${xo-cmake}/share/cmake"]
|
||||
++ lib.optionals buildDocs ["-DXO_ENABLE_DOCS=on"]
|
||||
++ lib.optionals buildExamples ["-DXO_ENABLE_EXAMPLES=on"];
|
||||
|
||||
inherit buildDocs;
|
||||
inherit buildExamples;
|
||||
|
||||
doCheck = true;
|
||||
nativeBuildInputs = [ cmake catch2
|
||||
xo-cmake
|
||||
xo-expression
|
||||
xo-tokenizer
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [ ];
|
||||
|
||||
postBuild = lib.optionalString buildDocs ''
|
||||
cmake --build . -- docs
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake
|
||||
catch2
|
||||
xo-cmake
|
||||
xo-expression
|
||||
xo-tokenizer
|
||||
]
|
||||
++ lib.optionals buildExamples [ replxx ]
|
||||
++ lib.optionals buildDocs [
|
||||
doxygen
|
||||
sphinx
|
||||
graphviz
|
||||
python3Packages.sphinx-rtd-theme
|
||||
python3Packages.breathe
|
||||
python3Packages.sphinxcontrib-ditaa
|
||||
python3Packages.sphinxcontrib-plantuml
|
||||
];
|
||||
})
|
||||
|
|
|
|||
|
|
@ -23,6 +23,13 @@ add_subdirectory(examples)
|
|||
add_subdirectory(utest)
|
||||
xo_export_cmake_config(${PROJECT_NAME} ${PROJECT_VERSION} ${PROJECT_NAME}Targets)
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
|
||||
if (XO_ENABLE_EXAMPLES)
|
||||
install(TARGETS xo_expression_repl DESTINATION bin/xo/example/reader)
|
||||
install(TARGETS xo_expression_replxx DESTINATION bin/xo/example/reader)
|
||||
endif()
|
||||
|
||||
# ----------------------------------------------------------------
|
||||
# docs targets depends on other library/utest/exec targets,
|
||||
# must come after them
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ set(SELF_SRCS exprrepl.cpp)
|
|||
|
||||
if (XO_ENABLE_EXAMPLES)
|
||||
xo_add_executable(${SELF_EXE} ${SELF_SRCS})
|
||||
xo_dependency(${SELF_EXE} xo_reader)
|
||||
xo_self_dependency(${SELF_EXE} xo_reader)
|
||||
endif()
|
||||
|
||||
# end CMakeLists.txt
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ set(SELF_SRCS exprreplxx.cpp)
|
|||
|
||||
if (XO_ENABLE_EXAMPLES)
|
||||
xo_add_executable(${SELF_EXE} ${SELF_SRCS})
|
||||
xo_dependency(${SELF_EXE} xo_reader)
|
||||
xo_self_dependency(${SELF_EXE} xo_reader)
|
||||
xo_external_target_dependency(${SELF_EXE} replxx replxx::replxx)
|
||||
|
||||
find_package(Threads REQUIRED)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue