初次提交
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
/.idea
|
||||||
@@ -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 ()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"version": 4,
|
||||||
|
"include": [
|
||||||
|
"toolchain/vs2022.json",
|
||||||
|
"toolchain/vs2019.json"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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})
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
std::cout << "Hello World!" << std::endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Vendored
+28
@@ -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"
|
||||||
Vendored
+37
@@ -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"
|
||||||
@@ -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()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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 ."
|
||||||
|
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user