From 03d6f5e0f8972a3c2e1897eef73d22616f92ef44 Mon Sep 17 00:00:00 2001 From: Gregory M Foss Date: Sat, 19 Oct 2019 16:41:38 -0400 Subject: [PATCH] Folder simplification build structure (#6) * Updating file structure and adding basic build config * Updating file structure and adding basic build config --- .gitignore | 6 +++ breadcrumbs/CMakeConfig.h.in | 4 ++ breadcrumbs/CMakeLists.txt | 40 +++++++++++++++++++ breadcrumbs/CMakeSettings.json | 16 ++++++++ breadcrumbs/bfs/io_proc/.blank | 0 breadcrumbs/bfs/lib/.blank | 0 breadcrumbs/bfs/out_proc/.blank | 0 breadcrumbs/bfs/scripts/.blank | 0 breadcrumbs/{algos => bin}/.blank | 0 breadcrumbs/in_procs/.blank | 0 breadcrumbs/include/CMakeConfig.h | 4 ++ breadcrumbs/out_procs/.blank | 0 breadcrumbs/src/Breadcrumbs.cpp | 7 ++++ breadcrumbs/{bfs => src/algos}/.blank | 0 .../{bfs/algo => src/io/in_procs}/.blank | 0 .../{bfs/in_proc => src/io/out_procs}/.blank | 0 16 files changed, 77 insertions(+) create mode 100644 breadcrumbs/CMakeConfig.h.in create mode 100644 breadcrumbs/CMakeLists.txt create mode 100644 breadcrumbs/CMakeSettings.json delete mode 100644 breadcrumbs/bfs/io_proc/.blank delete mode 100644 breadcrumbs/bfs/lib/.blank delete mode 100644 breadcrumbs/bfs/out_proc/.blank delete mode 100644 breadcrumbs/bfs/scripts/.blank rename breadcrumbs/{algos => bin}/.blank (100%) delete mode 100644 breadcrumbs/in_procs/.blank create mode 100644 breadcrumbs/include/CMakeConfig.h delete mode 100644 breadcrumbs/out_procs/.blank create mode 100644 breadcrumbs/src/Breadcrumbs.cpp rename breadcrumbs/{bfs => src/algos}/.blank (100%) rename breadcrumbs/{bfs/algo => src/io/in_procs}/.blank (100%) rename breadcrumbs/{bfs/in_proc => src/io/out_procs}/.blank (100%) diff --git a/.gitignore b/.gitignore index d8a0746..a59d439 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,7 @@ .vs/* + +# Excluding the build and executable folders +breadcrumbs/build/* +!breadcrumbs/build/.blank +breadcrumbs/bin/* +!breadcrumbs/bin/.blank diff --git a/breadcrumbs/CMakeConfig.h.in b/breadcrumbs/CMakeConfig.h.in new file mode 100644 index 0000000..e47bb02 --- /dev/null +++ b/breadcrumbs/CMakeConfig.h.in @@ -0,0 +1,4 @@ +// the configured options and settings for Tutorial + +#define Tutorial_VERSION_MAJOR @Bfs_VERSION_MAJOR@ +#define Tutorial_VERSION_MINOR @Bfs_VERSION_MINOR@ \ No newline at end of file diff --git a/breadcrumbs/CMakeLists.txt b/breadcrumbs/CMakeLists.txt new file mode 100644 index 0000000..611a3e7 --- /dev/null +++ b/breadcrumbs/CMakeLists.txt @@ -0,0 +1,40 @@ +# This file controls the build process. When you save it, VS figures out what types of executables that it builds. +# Then, you can switch the executable that you want to run at the top from the drop down and hit run to build and +# run it. +# + +cmake_minimum_required (VERSION 2.6) + +message("Starting CMAKE") +project (Breadcrumbs) +# The version number. +set (Bfs_VERSION_MAJOR 1) +set (Bfs_VERSION_MINOR 0) + +# Setting paths +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_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) # Compiled libraries (.lib and .dll) +set(CMAKE_INCLUDE_PATH ${PROJECT_SOURCE_DIR}/include) # Publicly accessible header files +message("Root directory: ${PROJECT_SOURCE_DIR}") +message("Source directory: ${CMAKE_SOURCE_DIR}") +message("Build directory: ${CMAKE_BINARY_DIR}") +message("Executable directory: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") +message("Library directory: ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") +message("Header file directory: ${INCLUDES_DIRECTORY}") + +# Configure a header file to pass some of the CMake settings to the source code +configure_file ( + "${PROJECT_SOURCE_DIR}/CMakeConfig.h.in" + "${CMAKE_INCLUDE_PATH}/CMakeConfig.h" + ) + +# Adding public includes to include search path +include_directories("${CMAKE_INCLUDE_PATH}") +# Adding private include files from source tree +include_directories("${CMAKE_SOURCE_DIR}") + +# Adding executables +add_executable(Breadcrumbs ${CMAKE_SOURCE_DIR}/Breadcrumbs.cpp) diff --git a/breadcrumbs/CMakeSettings.json b/breadcrumbs/CMakeSettings.json new file mode 100644 index 0000000..ae612b0 --- /dev/null +++ b/breadcrumbs/CMakeSettings.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "basic_build", + "generator": "Ninja", + "configurationType": "Debug", + "inheritEnvironments": [ "msvc_x64_x64" ], + "buildRoot": "${projectDir}\\build\\${name}", + "installRoot": "${projectDir}\\install\\${name}", + "cmakeCommandArgs": "", + "buildCommandArgs": "-v", + "ctestCommandArgs": "", + "variables": [] + } + ] +} diff --git a/breadcrumbs/bfs/io_proc/.blank b/breadcrumbs/bfs/io_proc/.blank deleted file mode 100644 index e69de29..0000000 diff --git a/breadcrumbs/bfs/lib/.blank b/breadcrumbs/bfs/lib/.blank deleted file mode 100644 index e69de29..0000000 diff --git a/breadcrumbs/bfs/out_proc/.blank b/breadcrumbs/bfs/out_proc/.blank deleted file mode 100644 index e69de29..0000000 diff --git a/breadcrumbs/bfs/scripts/.blank b/breadcrumbs/bfs/scripts/.blank deleted file mode 100644 index e69de29..0000000 diff --git a/breadcrumbs/algos/.blank b/breadcrumbs/bin/.blank similarity index 100% rename from breadcrumbs/algos/.blank rename to breadcrumbs/bin/.blank diff --git a/breadcrumbs/in_procs/.blank b/breadcrumbs/in_procs/.blank deleted file mode 100644 index e69de29..0000000 diff --git a/breadcrumbs/include/CMakeConfig.h b/breadcrumbs/include/CMakeConfig.h new file mode 100644 index 0000000..520c12d --- /dev/null +++ b/breadcrumbs/include/CMakeConfig.h @@ -0,0 +1,4 @@ +// the configured options and settings for Tutorial + +#define Tutorial_VERSION_MAJOR 1 +#define Tutorial_VERSION_MINOR 0 diff --git a/breadcrumbs/out_procs/.blank b/breadcrumbs/out_procs/.blank deleted file mode 100644 index e69de29..0000000 diff --git a/breadcrumbs/src/Breadcrumbs.cpp b/breadcrumbs/src/Breadcrumbs.cpp new file mode 100644 index 0000000..8f4ffc9 --- /dev/null +++ b/breadcrumbs/src/Breadcrumbs.cpp @@ -0,0 +1,7 @@ +#include + + +int main() { + printf("Hello world!\n"); + return 0; +} diff --git a/breadcrumbs/bfs/.blank b/breadcrumbs/src/algos/.blank similarity index 100% rename from breadcrumbs/bfs/.blank rename to breadcrumbs/src/algos/.blank diff --git a/breadcrumbs/bfs/algo/.blank b/breadcrumbs/src/io/in_procs/.blank similarity index 100% rename from breadcrumbs/bfs/algo/.blank rename to breadcrumbs/src/io/in_procs/.blank diff --git a/breadcrumbs/bfs/in_proc/.blank b/breadcrumbs/src/io/out_procs/.blank similarity index 100% rename from breadcrumbs/bfs/in_proc/.blank rename to breadcrumbs/src/io/out_procs/.blank