diff --git a/CMakeLists.txt b/CMakeLists.txt index ff7aa9dfa..28fd32bd6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -452,6 +452,7 @@ file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/lib ) fold( + cmake omnn OpenMind ) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt new file mode 100644 index 000000000..9b7aeb8a5 --- /dev/null +++ b/cmake/CMakeLists.txt @@ -0,0 +1 @@ +fold() diff --git a/cmake/append-each-line/CMakeLists.txt b/cmake/append-each-line/CMakeLists.txt new file mode 100644 index 000000000..f86342a58 --- /dev/null +++ b/cmake/append-each-line/CMakeLists.txt @@ -0,0 +1 @@ +exe() diff --git a/cmake/append-each-line/main.cpp b/cmake/append-each-line/main.cpp new file mode 100644 index 000000000..c7ba18c0c --- /dev/null +++ b/cmake/append-each-line/main.cpp @@ -0,0 +1,45 @@ +#include +#include +#include + +// defaults used for rebase-all-branches target +#define INPUT_FILE_DEFAULT SRC_DIR "rebase.cmd" +#define SUFFIX_DEFAULT " || \"" GIT_EXECUTABLE_PATH "\" rebase --abort" + +int main(int argc, char* argv[]) { + if (argc != 3) { + std::cout << "Usage: " << argv[0] << " " << std::endl; + std::cout << "Defaults used: =" INPUT_FILE_DEFAULT " =" SUFFIX_DEFAULT << std::endl; + } + + std::string_view input_file = argc == 3 ? argv[1] : INPUT_FILE_DEFAULT; + std::string_view suffix = argc == 3 ? argv[2] : SUFFIX_DEFAULT; + + std::ifstream infile(input_file.data()); + if (!infile.is_open()) { + std::cerr << "Failed to open file: " << input_file << std::endl; + return 1; + } + + std::string output_file = input_file.data(); + output_file += ".new"; + + std::ofstream outfile(output_file); + if (!outfile.is_open()) { + std::cerr << "Failed to create file: " << output_file << std::endl; + return 1; + } + + std::string line; + while (std::getline(infile, line)) { + outfile << line << suffix << std::endl; + } + + infile.close(); + outfile.close(); + + std::remove(input_file.data()); + std::rename(output_file.c_str(), input_file.data()); + + return 0; +} diff --git a/cmake/bins.cmake b/cmake/bins.cmake index f1698ec2b..2617cfa57 100644 --- a/cmake/bins.cmake +++ b/cmake/bins.cmake @@ -93,6 +93,7 @@ function(apply_target_commons this_target) BOOST_SYSTEM_NO_DEPRECATED BOOST_ERROR_CODE_HEADER_ONLY BOOST_COMPUTE_USE_CPP11 + -DGIT_EXECUTABLE_PATH="${GIT_EXECUTABLE}" -DSRC_DIR="${CMAKE_SOURCE_DIR}/" -D_${dashless}_SRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}/" -D_${this_target_up}_SRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}/" diff --git a/cmake/gitect.cmake b/cmake/gitect.cmake index 72ab2fe67..5cbe27a81 100644 --- a/cmake/gitect.cmake +++ b/cmake/gitect.cmake @@ -137,6 +137,8 @@ if(GIT_EXECUTABLE) set(CMD_ITERATE_BRANCHES "for /f \"usebackq tokens=*\" %b in ( branches.txt ) do ( ${CMD_REBASE_BRANCH} )") set(CMD_LINE_SUFFIX " ^|^| ${GIT_EXE_CMD} rebase --abort") add_custom_target(rebase-all-branches + DEPENDS append-each-line + COMMAND ${CMAKE_COMMAND} -E echo "Rebasing all branches onto origin/main" COMMAND ${GIT_EXECUTABLE} fetch --all || echo git fetch error @@ -144,8 +146,9 @@ if(GIT_EXECUTABLE) COMMAND type NUL > rebase.cmd COMMAND cmd /c ( for /f "usebackq tokens=*" %b in ( branches.txt ) do @echo ${CMD_REBASE_BRANCH} ) >> rebase.cmd COMMAND echo echo rebasing all branches > rebase-or-abort.cmd - COMMAND cmd /c ( ( for /f "usebackq tokens=*" %a in ( rebase.cmd ) do ( echo %a ^|^| ${GIT_EXE_CMD} rebase --abort ) ) >> rebase-or-abort.cmd ) - COMMAND cmd /c rebase.cmd + #COMMAND cmd /c ( for /f "usebackq tokens=*" %a in ( rebase.cmd ) do echo %a ^|^| ${GIT_EXE_CMD} rebase --abort ) >> rebase-or-abort.cmd + COMMAND $ rebase.cmd "${CMD_LINE_SUFFIX}" + COMMAND cmd /c rebase.cmd COMMENT "Rebasing all branches onto origin/main using cmd with improved branch handling." WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}