KS
Size: a a a
KS
NL
cmake -DXFILES_DIR=... -DXFILES_ENABLE_UI=1
Чтобы не требовать (и не забывать указание опций) я сделал суррогатный cmakefile.txt где и определяю эти значения:cmake_minimum_required(VERSION 3.1)Проблема в том, что я не хочу вот так хардкодить абсолютный путь. Есть ли какая-нибудь возможность сделать абсолютный путь из относительного, что-то типа
project(my_wrapper)
set(XFILES_DIR /Users/nick/rust/x-files/here CACHE PATH "path to x-files")
set(XFILES_ENABLE_UI 1 CACHE BOOL "enable ui")
set(XFILES_DIR abs_path(x-files/here) CACHE PATH "path to x-files")?
NL
include_directories(
../Util/Source
../ASIO/src
../Config/Source
${XFILES_DIR}
)
XFILES_DIR не будет абсолютным путём, то он просто не найдёт нужные хедеры.II
include_directories() резолвит пути относительно той директории, в которой лежит CMakeLists.txt его вызывающийNL
NL
file(REAL_PATH x-files XFILES_DIR) работает 👍AN
NL
SD
II
AS
II
git branch github-internal-secret-pull123; git serve -p 23456github.com:23456/repo/github-internal-secret-pull123VV
Dv
LA
mkdir build
cd build
cmake -G "NMake Makefiles" ..
nmakeDS
DS
Release. Загадочным образом, начиная с какого-то обновления студии, бинарники перестали собираться как релизные. У них и сам размер стал меньше, и что важно, скорость исполнения сильно-сильно упала. Как будто, отладочный режим включается (на что намекает какой-то сбой, фиксируемый в логах). В то же время, если открыть проект как проект CMake, а потом собрать через IDE-шку студии как x86-Release, то бинарники пашут быстро, как и было до этого, когда также собирал через консольку. Сборка такая: CMakeLists.txt -> получаю *.sln через cmake -DCMAKE_BUILD_TYPE=Release … -> собираю MSBuild *.sln /p:Configuration=Release. Если что, CMake недавно обновил. Готов перейти на nmake или что-то там сейчас вместо него. Как сделать так, чтобы можно было собирать по-прежнему релизные сборки в винде через консольку (PowerShell / Command Prompt)?DS
DS