初次提交

This commit is contained in:
2026-07-08 14:10:33 +08:00
commit ce9283951b
11 changed files with 283 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
/.idea
+24
View File
@@ -0,0 +1,24 @@
if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR})
cmake_minimum_required(VERSION 3.16)
cmake_policy(SET CMP0141 NEW)
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$<CONFIG:Debug,RelWithDebInfo>:Embedded>")
project(test_maplibre)
set(test_maplibre_VERSION 1.0.0)
set(CMAKE_CXX_STANDARD 20)
include(third_party/build_infra/start.cmake)
include(third_party/CPP_Core/main.cmake)
set(ecap_rely maplibre-native-qt)
library_is_installed_with_rely(global ok ${ecap_rely})
if (${ok})
include(${CMAKE_SOURCE_DIR}/main.cmake)
else ()
message("test_maplibre 依赖未安装! 请运行 test_maplibre_env 目标安装所需第三方依赖")
endif ()
rcl_add_dependency_action_targets("test_maplibre_env" ${ecap_rely})
include(third_party/build_infra/end.cmake)
else ()
endif ()
+7
View File
@@ -0,0 +1,7 @@
{
"version": 4,
"include": [
"toolchain/vs2022.json",
"toolchain/vs2019.json"
]
}
+5
View File
@@ -0,0 +1,5 @@
set(dir ${CMAKE_CURRENT_LIST_DIR}/src)
file(GLOB_RECURSE srcs ${dir}/*.c ${dir}/*.h ${dir}/*.cpp ${dir}/*.hpp)
add_executable(test_maplibre ${srcs})
+6
View File
@@ -0,0 +1,6 @@
#include <iostream>
int main() {
std::cout << "Hello World!" << std::endl;
return 0;
}
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
set -euo pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
root="$(cd "$script_dir/.." && pwd)"
cd "$root"
origin="$(git remote get-url origin)"
origin="${origin%/}"
remote_root="${origin%/*}"
remote_root="${remote_root%/*}"
echo "remoteRoot $remote_root"
fetch_repo() {
local repo="$1"
local branch="$2"
local dir="$3"
if [[ -d "$dir" ]]; then
git -C "$dir" rev-parse --is-inside-work-tree >/dev/null
git -C "$dir" remote set-url origin "$repo"
git -C "$dir" fetch origin "$branch"
git -C "$dir" checkout "$branch"
git -C "$dir" pull --ff-only origin "$branch"
else
mkdir -p "$(dirname "$dir")"
git clone --branch "$branch" --single-branch "$repo" "$dir"
fi
}
fetch_repo "$remote_root/ae/build_infra" "master" "third_party/build_infra"
fetch_repo "$remote_root/ae/CPP_Core" "master" "third_party/CPP_Core"
+37
View File
@@ -0,0 +1,37 @@
$ErrorActionPreference = "Stop"
$scriptDir = $PSScriptRoot
if ( [string]::IsNullOrWhiteSpace($scriptDir))
{
$scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
}
$root = (Resolve-Path -LiteralPath (Join-Path $scriptDir "..")).Path
Set-Location -LiteralPath $root
$origin = git remote get-url origin
$origin = $origin.TrimEnd("/")
$remoteRoot = $origin -replace "/[^/]+(\.git)?$", ""
$remoteRoot = $remoteRoot -replace "/[^/]+$", ""
echo "remoteRoot $remoteRoot"
function Fetch-Repo
{
param(
[string]$Repo,
[string]$Branch,
[string]$Dir
)
if (Test-Path -LiteralPath $Dir -PathType Container)
{
git -C $Dir rev-parse --is-inside-work-tree *> $null
git -C $Dir remote set-url origin $Repo
git -C $Dir fetch origin $Branch
git -C $Dir checkout $Branch
git -C $Dir pull --ff-only origin $Branch
}
else
{
git clone --branch $Branch --single-branch $Repo $Dir
}
}
Fetch-Repo "$remoteRoot/ae/build_infra" -Branch "master" "third_party/build_infra"
Fetch-Repo "$remoteRoot/ae/CPP_Core" -Branch "master" "third_party/CPP_Core"
+88
View File
@@ -0,0 +1,88 @@
#set(dir "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64")
#
#set(CMAKE_CXX_COMPILER "${dir}/cl.exe")
#set(CMAKE_C_COMPILER "${dir}/cl.exe")
#get_filename_component(_compiler_dir "${CMAKE_CXX_COMPILER}" DIRECTORY)
#
#set(CMAKE_LINKER "${_compiler_dir}/link.bat")
#if(CMAKE_HOST_WIN32 AND CMAKE_GENERATOR MATCHES "Ninja")
#
#
# message(STATUS "CMAKE_GENERATOR = ${CMAKE_GENERATOR}")
# message(STATUS "CMAKE_GENERATOR_INSTANCE = ${CMAKE_GENERATOR_INSTANCE}")
# message(STATUS "CMAKE_GENERATOR_TOOLSET = ${CMAKE_GENERATOR_TOOLSET}")
# message(STATUS "CMAKE_GENERATOR_PLATFORM = ${CMAKE_GENERATOR_PLATFORM}")
# message(STATUS "CMAKE_MAKE_PROGRAM before = ${CMAKE_MAKE_PROGRAM}")
#
# file(GLOB CLION_NINJA_CANDIDATES
# "C:/Program Files/JetBrains/CLion */bin/ninja/win/x64/ninja.exe"
# )
#
# list(SORT CLION_NINJA_CANDIDATES ORDER DESCENDING)
#
# if(CLION_NINJA_CANDIDATES)
# list(GET CLION_NINJA_CANDIDATES 0 CLION_NINJA_EXE)
# message(STATUS "CLION_NINJA_EXE = ${CLION_NINJA_EXE}")
#
# set(CMAKE_MAKE_PROGRAM "${CLION_NINJA_EXE}" CACHE FILEPATH "Ninja executable" FORCE)
# else()
# message(WARNING "CLion ninja.exe not found")
# endif()
#
# message(STATUS "CMAKE_MAKE_PROGRAM after = ${CMAKE_MAKE_PROGRAM}")
#
# # 输出 Ninja 版本
# execute_process(
# COMMAND "${CMAKE_MAKE_PROGRAM}" --version
# OUTPUT_VARIABLE _ninja_version
# ERROR_VARIABLE _ninja_version_err
# RESULT_VARIABLE _ninja_version_ret
# OUTPUT_STRIP_TRAILING_WHITESPACE
# ERROR_STRIP_TRAILING_WHITESPACE
# )
#
# message(STATUS "Ninja version ret = ${_ninja_version_ret}")
# message(STATUS "Ninja version = ${_ninja_version}")
# if(_ninja_version_err)
# message(STATUS "Ninja version err = ${_ninja_version_err}")
# endif()
#
# # 输出 Ninja Windows 编码模式
# execute_process(
# COMMAND "${CMAKE_MAKE_PROGRAM}" -t wincodepage
# OUTPUT_VARIABLE _ninja_wincodepage
# ERROR_VARIABLE _ninja_wincodepage_err
# RESULT_VARIABLE _ninja_wincodepage_ret
# OUTPUT_STRIP_TRAILING_WHITESPACE
# ERROR_STRIP_TRAILING_WHITESPACE
# )
#
# message(STATUS "Ninja wincodepage ret = ${_ninja_wincodepage_ret}")
# message(STATUS "Ninja wincodepage = ${_ninja_wincodepage}")
# if(_ninja_wincodepage_err)
# message(STATUS "Ninja wincodepage err = ${_ninja_wincodepage_err}")
# endif()
#
# # 输出当前 cmd 代码页
# execute_process(
# COMMAND cmd /c chcp
# OUTPUT_VARIABLE _cmd_chcp
# ERROR_VARIABLE _cmd_chcp_err
# RESULT_VARIABLE _cmd_chcp_ret
# OUTPUT_STRIP_TRAILING_WHITESPACE
# ERROR_STRIP_TRAILING_WHITESPACE
# )
#
# message(STATUS "cmd chcp ret = ${_cmd_chcp_ret}")
# message(STATUS "cmd chcp = ${_cmd_chcp}")
# if(_cmd_chcp_err)
# message(STATUS "cmd chcp err = ${_cmd_chcp_err}")
# endif()
#endif()
+37
View File
@@ -0,0 +1,37 @@
{
"version": 10,
"cmakeMinimumRequired": {
"major": 3,
"minor": 21,
"patch": 0
},
"configurePresets": [
{
"name": "vs2019",
"hidden": true,
"generator": "Ninja",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/toolchain/vs2019.cmake"
},
"vendor": {
"jetbrains.com/clion": {
"toolchain": "vs2019"
}
}
},
{
"name": "vs2019_Debug",
"inherits": "vs2019",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "vs2019_Release",
"inherits": "vs2019",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
}
]
}
+13
View File
@@ -0,0 +1,13 @@
set(dir "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Tools/MSVC/14.44.35207/bin/Hostx64/x64")
set(CMAKE_CXX_COMPILER "${dir}/cl.bat")
set(CMAKE_C_COMPILER "${dir}/cl.bat")
set(CMAKE_LINKER "${dir}/link.bat")
#set(CMAKE_CXX_COMPILER "${dir}/cl.exe")
#set(CMAKE_C_COMPILER "${dir}/cl.exe")
#set(CMAKE_LINKER "${dir}/link.exe")
# [2/2] C:\Windows\system32\cmd.exe /C "cd . && "C:\Program Files\JetBrains\CLion 2025.3.4\bin\cmake\win\x64\bin\cmake.exe" -E vs_link_exe --msvc-ver=1944 --intdir=CMakeFiles\radio.dir --rc=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\rc.exe --mt=C:\PROGRA~2\WI3CF2~1\10\bin\100261~1.0\x64\mt.exe --manifests -- C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\LINK_2~1.BAT /nologo @CMakeFiles\radio.rsp /out:radio.exe /implib:radio.lib /pdb:radio.pdb /version:0.0 /machine:x64 /debug /INCREMENTAL /subsystem:console && cd ."
+37
View File
@@ -0,0 +1,37 @@
{
"version": 10,
"cmakeMinimumRequired": {
"major": 3,
"minor": 21,
"patch": 0
},
"configurePresets": [
{
"name": "vs2022",
"hidden": true,
"generator": "Ninja",
"cacheVariables": {
"CMAKE_TOOLCHAIN_FILE": "${sourceDir}/toolchain/vs2022.cmake"
},
"vendor": {
"jetbrains.com/clion": {
"toolchain": "vs2022"
}
}
},
{
"name": "vs2022_debug",
"inherits": "vs2022",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "vs2022_release",
"inherits": "vs2022",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
}
]
}