Здравствуйте,
Имеется скрипт sh, который сначала запускает CMake, а потом make, собирая таким образом пусковой файл проекта. Всё это вполне хорошо работало ровно до того момента, пока я не поместил этот скрипт в автозапуск через crontab. В результате таким способом проект не собирается, так как CMake выдает ошибку в стиле «некорректная конфигурация». Непонятно, каким образом рабочая конфигурация при автозапуске становится некорректной. Везде стоят абсолютные пути, пауза на запуск скрипта в 30 секунд имеется, дабы OS успела стартануть (пробовал ставить паузу полторы минуты, но толку нет).
CMake версии 3.30.3. В качестве OS используется Fedora на виртуалке. Результат в виде лога с ошибкой, который выдает CMake, можно увидеть здесь: https://www.astralax.com/temp/CMakeOutput.log
Сам CMakeLists.txt выглядит так:
cmake_minimum_required(VERSION 3.8)
set(CMAKE_C_FLAGS "-m64")
set(CMAKE_CXX_FLAGS "-m64")
project("mgcore")
SET(SOURCE "Backup.cpp" "Component.cpp" "Core.cpp" "Editor.cpp" "Graphics.cpp" "Magl.cpp" "Root.cpp" "stdafx.cpp" "Surface16.cpp" "Surface32.cpp" "Theme.cpp" "ThemeWindows.cpp" "utils.cpp" "VirtualDrive.cpp" "font/Font.cpp")
SET(HEADER "Backup.h" "Component.h" "Core.h" "dcrt.h" "Graphics.h" "Magl.h" "mgdv.h" "Root.h" "stb_image.h" "stb_image_write.h" "stdafx.h" "Surface16.h" "Surface32.h" "targetver.h" "Theme.h" "ThemeWindows.h" "utils.h" "VirtualDrive.h" "font/Font.h" "font/ft2build.h")
add_library(${PROJECT_NAME} ${SOURCE} ${HEADER})
include_directories(include)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED on)
add_definitions(-D_LIB -D_UTF8_ -DFREETYPE -DMD_APPLICATION -DMD_UNIX -DMD_CMAKE -DMD_X64)
target_compile_definitions(${PROJECT_NAME} PRIVATE
PUBLIC
$<$<CONFIG:Debug>:MD_DEBUG _DEBUG>
$<$<CONFIG:Release>:MD_RELEASE>
$<$<CONFIG:RelWithDebInfo>:MD_DEBUG _DEBUG>
$<$<CONFIG:MinSizeRel>:MD_RELEASE>
)
target_include_directories(${PROJECT_NAME} PRIVATE ./ font)
target_link_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR})