From 76a5e558e100d40fdf7177cf3e1ab982faa06b2b Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 19 Jan 2018 23:18:25 +0100 Subject: Add todo --- backend/ninja/Ninja.cpp | 4 ++++ src/main.cpp | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/ninja/Ninja.cpp b/backend/ninja/Ninja.cpp index 06345d9..6104d52 100644 --- a/backend/ninja/Ninja.cpp +++ b/backend/ninja/Ninja.cpp @@ -856,6 +856,9 @@ namespace backend return buildResult; } + // TODO: If tests are being run (sibs test) and root project is an executable, do not run compile (above code) as executable. + // Sibs test will compile root project as dynamic library so you end up compiling the project twice, first as an executable and then as a dynamic library. + // Even if the root project has been built before and there is cached object, it will take a few seconds to run compile Result buildTestResult = buildTests(projectGeneratedBinary, config, savePath, dependencyExportIncludeDirs); if(!buildTestResult) return buildTestResult; @@ -863,6 +866,7 @@ namespace backend return Result::Ok(true); } + // TODO: Add "c++" file extension, seems to be used in some places? const _tinydir_char_t *sourceFileExtensions[] = { TINYDIR_STRING("c"), TINYDIR_STRING("cc"), TINYDIR_STRING("cpp"), TINYDIR_STRING("cxx") }; bool isSourceFile(tinydir_file *file) { diff --git a/src/main.cpp b/src/main.cpp index dcc38d1..bd3171f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -33,8 +33,10 @@ using namespace std::chrono; // This can be done by specifying dependencies under [dependencies.platform] instead of [dependencies], // for example for win32: [dependencies.win32] -// TODO: When `install` command is added, the target executable and shared library dependencies should be put into +// TODO: When `package` command is added, the target executable and shared library dependencies should be put into // an archive to make the executable distributable (especially on windows). A GUI installer could then extract the archive. +// On Linux we can use https://github.com/DEC05EBA/glibc_version_header to make the executable work on many distros +// without compiling project from source on the end-users machine. // TODO: Add optional dependencies [optional_dependencies]. Optional dependencies should also support platform specific dependencies [dependencies.cmake]. // Might need to make it possible to define variables if a dependency exists (or doesn't exist) because the code might have -- cgit v1.2.3