Skip to content

Commit 8a19e9e

Browse files
Initial commit
0 parents  commit 8a19e9e

21 files changed

Lines changed: 35032 additions & 0 deletions

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
* text=auto
2+
*.hpp linguist-language=C++
3+
# I don't want 20k lines of cpp in my stats
4+
src/external/** linguist-vendored

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.vs
2+
out

CMakeLists.txt

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
cmake_minimum_required(VERSION 3.21)
2+
set(CMAKE_CXX_STANDARD 23)
3+
project(Sequence_Runner LANGUAGES CXX)
4+
5+
find_package(Slint QUIET)
6+
if (NOT Slint_FOUND)
7+
include(FetchContent)
8+
FetchContent_Declare(
9+
Slint
10+
GIT_REPOSITORY https://github.com/slint-ui/slint.git
11+
GIT_TAG release/1
12+
SOURCE_SUBDIR api/cpp
13+
)
14+
FetchContent_MakeAvailable(Slint)
15+
endif (NOT Slint_FOUND)
16+
17+
add_executable(Sequence_Runner
18+
src/main.cpp
19+
src/external/tinyfiledialogs.cpp
20+
src/ui/filedialog.cpp
21+
src/ui/uiutils.hpp
22+
src/external/json.hpp
23+
src/files/datahandle.cpp
24+
src/files/data.hpp
25+
src/other/cfg.hpp
26+
src/other/exceptionhandler.hpp
27+
src/runner/sequence_runner.hpp
28+
ui/app.rc
29+
)
30+
31+
set_target_properties(Sequence_Runner PROPERTIES
32+
OUTPUT_NAME "Sequence_Runner"
33+
)
34+
35+
if (CMAKE_BUILD_TYPE STREQUAL "Release")
36+
set_target_properties(Sequence_Runner PROPERTIES WIN32_EXECUTABLE TRUE )
37+
set_target_properties(Sequence_Runner PROPERTIES LINK_FLAGS "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
38+
endif()
39+
40+
target_link_libraries(Sequence_Runner PRIVATE Slint::Slint)
41+
slint_target_sources(Sequence_Runner ui/app_window.slint)
42+
43+
target_include_directories(Sequence_Runner PRIVATE
44+
${CMAKE_CURRENT_SOURCE_DIR}/src
45+
${CMAKE_CURRENT_SOURCE_DIR}/src/files
46+
${CMAKE_CURRENT_SOURCE_DIR}/src/ui
47+
${CMAKE_CURRENT_SOURCE_DIR}/src/external
48+
${CMAKE_CURRENT_SOURCE_DIR}/src/other
49+
${CMAKE_CURRENT_SOURCE_DIR}/src/runner
50+
)
51+
52+
add_custom_command(TARGET Sequence_Runner POST_BUILD
53+
COMMAND ${CMAKE_COMMAND} -E copy
54+
$<TARGET_RUNTIME_DLLS:Sequence_Runner>
55+
$<TARGET_FILE_DIR:Sequence_Runner>
56+
COMMAND_EXPAND_LISTS
57+
)

CMakePresets.json

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"version": 3,
3+
"configurePresets": [
4+
{
5+
"name": "windows-base",
6+
"hidden": true,
7+
"generator": "Ninja",
8+
"binaryDir": "${sourceDir}/out/build/${presetName}",
9+
"installDir": "${sourceDir}/out/install/${presetName}",
10+
"cacheVariables": {
11+
"CMAKE_C_COMPILER": "cl.exe",
12+
"CMAKE_CXX_COMPILER": "cl.exe"
13+
},
14+
"condition": {
15+
"type": "equals",
16+
"lhs": "${hostSystemName}",
17+
"rhs": "Windows"
18+
}
19+
},
20+
{
21+
"name": "x64-debug",
22+
"displayName": "x64 Debug",
23+
"inherits": "windows-base",
24+
"architecture": {
25+
"value": "x64",
26+
"strategy": "external"
27+
},
28+
"cacheVariables": {
29+
"CMAKE_BUILD_TYPE": "Debug"
30+
}
31+
},
32+
{
33+
"name": "x64-release",
34+
"displayName": "x64 Release",
35+
"inherits": "x64-debug",
36+
"cacheVariables": {
37+
"CMAKE_BUILD_TYPE": "Release"
38+
}
39+
},
40+
{
41+
"name": "x86-debug",
42+
"displayName": "x86 Debug",
43+
"inherits": "windows-base",
44+
"architecture": {
45+
"value": "x86",
46+
"strategy": "external"
47+
},
48+
"cacheVariables": {
49+
"CMAKE_BUILD_TYPE": "Debug"
50+
}
51+
},
52+
{
53+
"name": "x86-release",
54+
"displayName": "x86 Release",
55+
"inherits": "x86-debug",
56+
"cacheVariables": {
57+
"CMAKE_BUILD_TYPE": "Release"
58+
}
59+
}
60+
]
61+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 HardCodeDev
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)