Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Adding automated build python script
  • Loading branch information
grf14003 committed Mar 10, 2020
1 parent e8fa40e commit 1c500bd
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 22 deletions.
6 changes: 4 additions & 2 deletions bfs/CMakeLists.txt
@@ -1,6 +1,7 @@
cmake_minimum_required (VERSION 2.6)

message("Starting CMAKE")
set(MSVC true)
project(Bfs)
string(TOLOWER ${PROJECT_NAME} ROOT_FOLDER_DIRNAME)
# The version number.
Expand All @@ -12,6 +13,8 @@ message("Setting paths...")
set(CMAKE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) # Code directory
set(CMAKE_BINARY_DIR ${PROJECT_SOURCE_DIR}/build) # Object files and such (.o)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) # Compiled executables for execution and test (.exe)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${PROJECT_SOURCE_DIR}/bin) # Compiled executables for execution and test (.exe)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${PROJECT_SOURCE_DIR}/bin) # Compiled executables for execution and test (.exe)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) # Compiled libraries (.lib and .dll)
set(CMAKE_INCLUDE_PATH ${PROJECT_SOURCE_DIR}/include) # Publicly accessible header files
set(IMPLEMENATION_PATH ${PROJECT_SOURCE_DIR}/implementations)
Expand Down Expand Up @@ -114,7 +117,7 @@ foreach(IMPL IN LISTS IMPLEMENTAIONS)
# configure which files are included in which exe's
foreach(X IN LISTS IMPL_EXECS)
get_filename_component(N ${X} NAME_WE)
message(STATUS "Generating Executable: ${N}.exe Main File: ${X}"})
message(STATUS "Generating Executable: ${N}.exe Main File: ${X}")

# Including any DLLs or LIBs
set(ALL_LIBS "")
Expand All @@ -130,7 +133,6 @@ foreach(IMPL IN LISTS IMPLEMENTAIONS)
message("Adding DLL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${DLL_N}")
file(COPY ${DLL} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endforeach()

foreach(LIB IN ITEMS ${LIBS})
get_filename_component(LIB_N ${LIB} NAME_WE)
find_library(${LIB_N} NAME ${LIB_N}.lib PATHS ${LIB})
Expand Down
Empty file removed bfs/bin/.blank
Empty file.
1 change: 1 addition & 0 deletions bfs/implementations/breadcrumbs/algos/AlgoBreadcrumbs.cpp
Expand Up @@ -4,6 +4,7 @@

void AlgoBreadcrumbs::loop()
{
printf("Hello world!\n");
vector<Attribute>* attribs = pollForAttributes();
if (attribs->size() > 0)
{
Expand Down
52 changes: 47 additions & 5 deletions bfs/scripts/buildbfs.py
@@ -1,15 +1,57 @@

import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
import glob

root_bfs_dir = os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), ".."))
print("Root BFS directory at:", root_bfs_dir)
build_dir = os.path.join(root_bfs_dir, "build")
print("Build directory at:", build_dir)
auto_build_dir = os.path.join(build_dir, "auto_build")
if not os.path.exists(auto_build_dir):
os.mkdir(auto_build_dir)
print("Creating auto build directory...")
print("Auto build directory at:", auto_build_dir)

print("Changing direcory to auto build dir...")
os.chdir(auto_build_dir)

cmake_bin = None

vs_cmake_path_pattern = "C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO\\*\\*\\COMMON*\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\CMake\\bin\\cmake.exe"
print("Searching for cmake installation in visual studio install location at %s" % vs_cmake_path_pattern)
possible_paths = glob.glob(vs_cmake_path_pattern)
if len(possible_paths) > 0:
cmake_bin = possible_paths[0]

if cmake_bin is None:
sys_cmake_path_pattern = "C:\\Program Files (x86)\\CMake*\\bin\\cmake.exe"
print("cmake bin\\ not found, searching for system installation at %s" % sys_cmake_bin_directory)
possible_paths = glob.glob(sys_cmake_path_pattern)
if len(possible_paths) > 0:
cmake_bin = possible_paths[0]

if cmake_bin is None:
print("No cmake directory found, try installing it through visual studio or through your system and retrying!")
quit()
else:
print("Cmake binary location found at: %s" % cmake_bin)
cmake_installation = "C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO\\2019\\COMMUNITY\\COMMON7\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\CMake\\bin\\cmake.exe"

compile_command = 'C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO\\2019\\COMMUNITY\\COMMON7\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\CMake\\bin\\cmake.exe -G "Ninja" -DCMAKE_INSTALL_PREFIX:PATH="C:/Users/Greg/Documents/git/bfs/breadcrumbs/install/basic_build" -DCMAKE_INSTALL_PREFIX:PATH="C:/Users/Greg/Documents/git/bfs/breadcrumbs/install/basic_build" -DCMAKE_CXX_COMPILER:FILEPATH="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/HostX64/x64/cl.exe" -DCMAKE_C_COMPILER:FILEPATH="C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/HostX64/x64/cl.exe" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_MAKE_PROGRAM="C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO\\2019\\COMMUNITY\\COMMON7\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\Ninja\\ninja.exe" "C:\\Users\\Greg\\Documents\\git\\bfs\\bfs" 2>&1'
test_command = "C:\\PROGRAM FILES (X86)\\MICROSOFT VISUAL STUDIO\\2019\\COMMUNITY\\COMMON7\\IDE\\COMMONEXTENSIONS\\MICROSOFT\\CMAKE\\CMake\\bin\\cmake.exe -G \"Ninja\" -DCMAKE_INSTALL_PREFIX:PATH=\"C:/Users/Greg/Documents/git/bfs/breadcrumbs/install/basic_build\" -DCMAKE_INSTALL_PREFIX:PATH=\"C:/Users/Greg/Documents/git/bfs/breadcrumbs/install/basic_build\" -DCMAKE_CXX_COMPILER:FILEPATH=\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/HostX64/x64/cl.exe\" -DCMAKE_C_COMPILER:FILEPATH=\"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.23.28105/bin/HostX64/x64/cl.exe\""
clean_command = "\"%s\" --clean ..\\.." % cmake_bin
build_command = "\"%s\" --build ." % cmake_bin


def start_program(program):
if not isinstance(program, str):
raise ValueError("Argument passed to start_program_sync() should be a string")
return os.system("START /wait \""+ program +"\" CMD /c " + program)
print("\n======> Running command: %s <======" % program)
return os.system("CMD /c \"%s\"" % program)


# While located in the bfs\build\auto_build directory...

# cmake --clean ..\..
start_program(clean_command)

start_program(test_command)
# cmake --build .
start_program(build_command)
15 changes: 0 additions & 15 deletions bfs/scripts/log.txt
@@ -1,14 +1,9 @@
Could not acquire mutex to add new client thread
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Expand All @@ -20,19 +15,9 @@ Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...
Could not acquire mutex to add new client thread
Listening for clients...
Hello new client!
Listening for clients...

0 comments on commit 1c500bd

Please sign in to comment.