Skip to content

Commit e742f8b

Browse files
committed
Move engine into monorepo
2 parents a586839 + a130174 commit e742f8b

File tree

606 files changed

+68585
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

606 files changed

+68585
-0
lines changed

src/engine/.clang-format

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
Language: Cpp
3+
BasedOnStyle: Google
4+
IncludeBlocks: Regroup
5+
IncludeCategories:
6+
- Regex: '^<.*\.h(pp)?>'
7+
Priority: 2
8+
SortPriority: 0
9+
CaseSensitive: false
10+
- Regex: '^<.*'
11+
Priority: 3
12+
SortPriority: 0
13+
CaseSensitive: false
14+
- Regex: '.*'
15+
Priority: 1
16+
SortPriority: 0
17+
CaseSensitive: false
18+
IncludeIsMainRegex: '(([-_](test|unittest))|Test)?$'
19+
IncludeIsMainSourceRegex: ''
20+
SortIncludes: CaseSensitive

src/engine/.clang-tidy

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
Checks: '*,-fuchsia-*,fuchsia-statically-constructed-objects,-llvmlibc-*,-llvm-header-guard,-altera-*'
3+
WarningsAsErrors: ''
4+
HeaderFileExtensions:
5+
- ''
6+
- h
7+
- hh
8+
- hpp
9+
- hxx
10+
ImplementationFileExtensions:
11+
- c
12+
- cc
13+
- cpp
14+
- cxx
15+
HeaderFilterRegex: ''
16+
ExcludeHeaderFilterRegex: ''
17+
FormatStyle: file
18+
CheckOptions:
19+
misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic: 'true'
20+
...
21+

src/engine/.dockerignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
build

src/engine/.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
*.ipch
2+
*.bin
3+
*.o
4+
*.db
5+
*.cache
6+
projects/*
7+
8+
*.swp
9+
*.swo
10+
/**/.DS_Store
11+
12+
/**/.vscode
13+
14+
**/model.json
15+
**/model.sql
16+
17+
compile_commands.json
18+
19+
*~
20+
#~
21+
22+
build/
23+
CMakeUserPresets.json

src/engine/CMakeLists.txt

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
cmake_minimum_required(VERSION 3.25)
2+
3+
include(cmake/conan.cmake)
4+
prepare_conan()
5+
6+
include(cmake/version.cmake)
7+
get_version()
8+
9+
project(
10+
engine
11+
DESCRIPTION "Engine for GetML"
12+
HOMEPAGE_URL "https://www.getml.com/"
13+
LANGUAGES CXX
14+
)
15+
set(PROJECT_VERSION ${GETML_VERSION})
16+
17+
include(cmake/ccache.cmake)
18+
prepare_ccache()
19+
20+
include(cmake/static_analysis.cmake)
21+
prepare_static_analysis()
22+
23+
option(HIDE_DEBUG_INFO "Hide extra debug information" ON)
24+
option(USE_PROFILING "Enable gperftools profiling settings" OFF)
25+
if(USE_PROFILING)
26+
message(STATUS "gperftools profiling enabled.")
27+
find_package(PkgConfig REQUIRED)
28+
pkg_check_modules(libprofiler REQUIRED IMPORTED_TARGET libprofiler)
29+
pkg_check_modules(libunwind REQUIRED IMPORTED_TARGET libunwind)
30+
else()
31+
message(STATUS "gperftools profiling disabled.")
32+
endif()
33+
34+
option(EIGEN_PARALLELIZE "Enable Eigen parallelization" ON)
35+
36+
include(CheckIPOSupported)
37+
check_ipo_supported(RESULT is_ipo_supported)
38+
39+
find_package(Poco REQUIRED Foundation Net)
40+
find_package(PostgreSQL REQUIRED)
41+
find_package(SQLite3 REQUIRED)
42+
find_package(Arrow REQUIRED)
43+
find_package(Eigen3 REQUIRED)
44+
find_package(OpenMP REQUIRED)
45+
find_package(xgboost REQUIRED)
46+
find_package(range-v3 REQUIRED)
47+
find_package(reflectcpp REQUIRED)
48+
find_package(yyjson REQUIRED)
49+
50+
message(STATUS "Using Conan specific packages")
51+
message(STATUS "-> mariadb")
52+
find_package(mariadb-connector-c REQUIRED)
53+
add_library(libmariadb::libmariadb ALIAS mariadb-connector-c::mariadb-connector-c)
54+
55+
message(STATUS "-> Parquet")
56+
add_library(parquet::parquet ALIAS Parquet::parquet_static)
57+
58+
59+
if(DEFINED ENV{CMAKE_BUILD_RPATH})
60+
set(
61+
CMAKE_BUILD_RPATH
62+
"$ENV{CMAKE_BUILD_RPATH}"
63+
CACHE
64+
STRING
65+
"Semicolon-separated list specifying runtime path (RPATH) entries to add to binaries linked in the build tree (for platforms that support it)."
66+
FORCE)
67+
endif()
68+
69+
if(DEFINED ENV{CPACK_EXCLUDE_RUNTIME_DEPENDENCIES})
70+
set(
71+
CPACK_EXCLUDE_RUNTIME_DEPENDENCIES
72+
"$ENV{CPACK_EXCLUDE_RUNTIME_DEPENDENCIES}"
73+
CACHE
74+
STRING
75+
"List of runtime dependencies to exclude from the package."
76+
FORCE)
77+
endif()
78+
79+
add_subdirectory(src)
80+
81+
include(InstallRequiredSystemLibraries)
82+
83+
set(CPACK_PACKAGE_VENDOR "https://www.code17.io/")
84+
set(CPACK_PACKAGE_DIRECTORY "package")
85+
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${PROJECT_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
86+
set(CPACK_THREADS 0)
87+
include(CPack)
88+
89+
option(BUILD_TESTS "Build tests" OFF)
90+
if(${BUILD_TESTS})
91+
find_package(GTest REQUIRED)
92+
enable_testing()
93+
include(GoogleTest)
94+
add_subdirectory(test)
95+
endif()

0 commit comments

Comments
 (0)