Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
280 changes: 140 additions & 140 deletions DefaultYAMLs/DefaultScriptInfo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,149 +5,149 @@
# You can uncomment different sections to set what you want.

# # (Optional) Language of the script
# Language: "c++"
Language: "c++"

# # (Optional) Preferred profiles for the script for each platform.
# # Profiles are listed in user config file,
# # which can be retreived by running `runcpp2 --show-config-path`
# # Each of the platform dependent settings can be listed under
# # - Default
# # - Windows
# # - Linux
# # - MacOS
# # - Unix
# RequiredProfiles:
# Windows: ["g++"]
# Linux: ["g++"]
# MacOS: ["g++"]
# (Optional) Preferred profiles for the script for each platform.
# Profiles are listed in user config file,
# which can be retreived by running `runcpp2 --show-config-path`
# Each of the platform dependent settings can be listed under
# - Default
# - Windows
# - Linux
# - MacOS
# - Unix
RequiredProfiles:
Windows: ["g++"]
Linux: ["g++"]
MacOS: ["g++"]

# # (Optional) Override the default compile flags for each platform.
# OverrideCompileFlags:
# # Target Platform
# Default:
# # Profile with the respective flags to override. ("Default" for any profile)
# "g++":
# # (Optional) Flags to be removed from the default compile flags, separated by space
# Remove: ""
#
# # (Optional) Additional flags to be appended to the default compile flags, separated by space
# Append: ""
# (Optional) Override the default compile flags for each platform.
OverrideCompileFlags:
# Target Platform
Default:
# Profile with the respective flags to override. ("Default" for any profile)
"g++":
# (Optional) Flags to be removed from the default compile flags, separated by space
Remove: ""

# (Optional) Additional flags to be appended to the default compile flags, separated by space
Append: ""

# # (Optional) Override the default link flags for each platform.
# OverrideLinkFlags:
# # Target Platform
# Default:
# # Profile with the respective flags to override ("Default" for any profile)
# "g++":
# # (Optional) Flags to be removed from the default link flags, separated by space
# Remove: ""
#
# # (Optional) Additional flags to be appended to the default link flags,
# # separated by space
# Append: ""
# (Optional) Override the default link flags for each platform.
OverrideLinkFlags:
# Target Platform
Default:
# Profile with the respective flags to override ("Default" for any profile)
"g++":
# (Optional) Flags to be removed from the default link flags, separated by space
Remove: ""

# (Optional) Additional flags to be appended to the default link flags,
# separated by space
Append: ""

# # (Optional) Other source files (relative to script file path) to be compiled.
# OtherFilesToBeCompiled:
# # Target Platform
# Default:
# # Target Profile
# Default:
# - "./AnotherSourceFile.cpp"
# (Optional) Other source files (relative to script file path) to be compiled.
OtherFilesToBeCompiled:
# Target Platform
Default:
# Target Profile
Default:
- "./AnotherSourceFile.cpp"

# # (Optional) Define cross-compiler defines for each platform and profile.
# # Defines can be specified as just a name or as a name-value pair.
# Defines:
# # Target Platform (Default, Windows, Linux, MacOS, or Unix)
# Default:
# # Profile name (e.g., "g++", "clang++", "msvc", or "Default" for any profile)
# "Default":
# - "EXAMPLE_DEFINE" # Define without a value
# - "VERSION_MAJOR=1" # Define with a value
# (Optional) Define cross-compiler defines for each platform and profile.
# Defines can be specified as just a name or as a name-value pair.
Defines:
# Target Platform (Default, Windows, Linux, MacOS, or Unix)
Default:
# Profile name (e.g., "g++", "clang++", "msvc", or "Default" for any profile)
"Default":
- "EXAMPLE_DEFINE" # Define without a value
- "VERSION_MAJOR=1" # Define with a value

# # (Optional) The list of dependencies needed by the script
# Dependencies:
# # Dependency name
# - Name: MyLibrary
#
# # Supported platforms of the dependency
# Platforms: [Windows, Linux, MacOS]
#
# # The source of getting the dependency (Git, Local)
# Source:
# # Git: Dependency exists in a git server, and needs to be cloned
# # Local: Dependency exists in local filesystem
# Type: Git
#
# # Git URL for Git type, path to a directory for Local type
# Value: "https://github.com/MyUser/MyLibrary.git"
#
# # Library Type (Static, Object, Shared, Header)
# LibraryType: Static
#
# # (Optional) Paths to be added to the include paths, relative to the dependency folder
# IncludePaths:
# - "src/include"
#
# # (Optional if LibraryType is Header) Link properties of the dependency
# LinkProperties:
# # Properties for searching the library binary for the profile
# # You can also use "Default" if all compilers use the same values
# "g++":
# # The library names to be searched for when linking against the script.
# # Binaries with linkable extension that contains one of the names will be linked
# SearchLibraryNames: ["MyLibrary"]
#
# # (Optional) The library names to be excluded from being searched.
# # Works the same as SearchLibraryNames but will NOT be linked instead
# ExcludeLibraryNames: []
#
# # The path (relative to the dependency folder) to be searched for the dependency binaries
# SearchDirectories: ["./build"]
#
# # (Optional) Additional link flags for this dependency for each platform
# AdditionalLinkOptions:
# Default: []
#
# # (Optional) Setup commands are run once when the dependency is populated
# Setup:
# # Target Platform
# Default:
# # Setup shell commands for the specified profile.
# # Default commands are run in the dependency folder
# # You can also use "Default" if all the compilers run the same setup commands
# "g++":
# - "mkdir build"
#
#
# # (Optional) Build commands are run every time before the script is being built
# Build:
# # Target Platform
# Default:
# # Target Profile ("Default" for any profile)
# "g++":
# - "cd build && cmake .."
# - "cd build && cmake --build ."
#
# # (Optional) Cleanup commands are run when the reset option is present. Normally nothing needs
# # to be done since the dependency folder will be removed automatically.
# Cleanup:
# Linux:
# "g++":
# - "sudo apt purge MyLibrary"
#
# # (Optional) Files to be copied for each platform and profile
# FilesToCopy:
# # Target Platform (Default, Windows, Linux, MacOS, or Unix)
# Default:
# # Profile name (e.g., "g++", "clang++", "msvc", or "Default" for any profile)
# "Default":
# # List of files to copy (relative to the dependency folder)
# - "assets/textures/sprite.png"
# Windows:
# "msvc":
# - "assets/textures/sprite.png"
# - "assets/fonts/windows_specific_font.ttf"
# Linux:
# "g++":
# - "assets/textures/sprite.png"
# - "assets/shaders/linux_optimized_shader.glsl"
# (Optional) The list of dependencies needed by the script
Dependencies:
# Dependency name
- Name: MyLibrary

# Supported platforms of the dependency
Platforms: [Windows, Linux, MacOS]

# The source of getting the dependency (Git, Local)
Source:
# Git: Dependency exists in a git server, and needs to be cloned
# Local: Dependency exists in local filesystem
Type: Git

# Git URL for Git type, path to a directory for Local type
Value: "https://github.com/MyUser/MyLibrary.git"

# Library Type (Static, Object, Shared, Header)
LibraryType: Static

# (Optional) Paths to be added to the include paths, relative to the dependency folder
IncludePaths:
- "src/include"

# (Optional if LibraryType is Header) Link properties of the dependency
LinkProperties:
# Properties for searching the library binary for the profile
# You can also use "Default" if all compilers use the same values
"g++":
# The library names to be searched for when linking against the script.
# Binaries with linkable extension that contains one of the names will be linked
SearchLibraryNames: ["MyLibrary"]

# (Optional) The library names to be excluded from being searched.
# Works the same as SearchLibraryNames but will NOT be linked instead
ExcludeLibraryNames: []

# The path (relative to the dependency folder) to be searched for the dependency binaries
SearchDirectories: ["./build"]

# (Optional) Additional link flags for this dependency for each platform
AdditionalLinkOptions:
Default: []

# (Optional) Setup commands are run once when the dependency is populated
Setup:
# Target Platform
Default:
# Setup shell commands for the specified profile.
# Default commands are run in the dependency folder
# You can also use "Default" if all the compilers run the same setup commands
"g++":
- "mkdir build"


# (Optional) Build commands are run every time before the script is being built
Build:
# Target Platform
Default:
# Target Profile ("Default" for any profile)
"g++":
- "cd build && cmake .."
- "cd build && cmake --build ."

# (Optional) Cleanup commands are run when the reset option is present. Normally nothing needs
# to be done since the dependency folder will be removed automatically.
Cleanup:
Linux:
"g++":
- "sudo apt purge MyLibrary"

# (Optional) Files to be copied to next to output binary for each platform and profile
FilesToCopy:
# Target Platform (Default, Windows, Linux, MacOS, or Unix)
Default:
# Profile name (e.g., "g++", "clang++", "msvc", or "Default" for any profile)
"Default":
# List of files to copy (relative to the dependency folder)
- "assets/textures/sprite.png"
Windows:
"msvc":
- "assets/textures/sprite.png"
- "assets/fonts/windows_specific_font.ttf"
Linux:
"g++":
- "assets/textures/sprite.png"
- "assets/shaders/linux_optimized_shader.glsl"
6 changes: 3 additions & 3 deletions DefaultYAMLs/DefaultUserConfig.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ Profiles:
CompileTypes:
Executable:
Default:
Flags: "-std=c++17 -Wall"
Flags: "-std=c++17 -Wall -g"
Executable: "g++"
RunParts: *g++_CompileRunParts
# (Optional) The commands to run in **shell** BEFORE compiling
Expand All @@ -175,14 +175,14 @@ Profiles:
# Cleanup: []
Static:
Default:
Flags: "-std=c++17 -Wall"
Flags: "-std=c++17 -Wall -g"
Executable: "g++"
RunParts: *g++_CompileRunParts
# Setup: []
# Cleanup: []
Shared:
Default:
Flags: "-std=c++17 -Wall -fpic"
Flags: "-std=c++17 -Wall -g -fpic"
Executable: "g++"
RunParts: *g++_CompileRunParts
# Setup: []
Expand Down
5 changes: 2 additions & 3 deletions Include/runcpp2/DependenciesHelper.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,10 @@ namespace runcpp2
const std::vector<Data::DependencyInfo*>& availableDependencies,
const std::vector<std::string>& dependenciesLocalCopiesPaths);

bool CopyDependenciesBinaries( const ghc::filesystem::path& buildDir,
const std::vector<Data::DependencyInfo*>& availableDependencies,
bool GatherDependenciesBinaries(const std::vector<Data::DependencyInfo*>& availableDependencies,
const std::vector<std::string>& dependenciesCopiesPaths,
const Data::Profile& profile,
std::vector<std::string>& outCopiedBinariesPaths);
std::vector<std::string>& outBinariesPaths);
}

#endif
12 changes: 6 additions & 6 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -154,9 +154,9 @@ pipeline
variable: 'GITHUB_TOKEN')])
{
SetGithubStatus('$GITHUB_TOKEN',
"Build ${BUILD_NUMBER}",
"CI Pipeline",
STATUS_CONTEXT_URL,
"Stage ${env.STAGE_NAME} started",
"Build ${BUILD_NUMBER} stage ${env.STAGE_NAME} started",
"pending",
REPO_OWNER,
REPO_NAME,
Expand Down Expand Up @@ -251,9 +251,9 @@ pipeline
withCredentials([string(credentialsId: 'github-token', variable: 'GITHUB_TOKEN')])
{
SetGithubStatus('$GITHUB_TOKEN',
"Build ${BUILD_NUMBER}",
"CI Pipeline",
STATUS_CONTEXT_URL,
"Pipeline passed",
"Build ${BUILD_NUMBER} Pipeline passed",
"success",
REPO_OWNER,
REPO_NAME,
Expand Down Expand Up @@ -298,9 +298,9 @@ pipeline
withCredentials([string(credentialsId: 'github-token', variable: 'GITHUB_TOKEN')])
{
SetGithubStatus('$GITHUB_TOKEN',
"Build ${BUILD_NUMBER}",
"CI Pipeline",
STATUS_CONTEXT_URL,
"Stage ${FAILED_STAGE} failed",
"Build ${BUILD_NUMBER} Stage ${FAILED_STAGE} failed",
"failure",
REPO_OWNER,
REPO_NAME,
Expand Down
Loading