У меня есть небольшая проблема с настройкой выходных путей в настройках проекта. Я бы хотел, чтобы CodeLite поместил двоичные файлы в папку с именем на основе конфигурации и внутри папки с именем bin в ней, но я не могу заставить его работать. Я просто изменил все пути и имена файлов, которые мог, в общих настройках проекта (я использовал исключительно макросы, такие как $(ProjectPath) и т. д.), и после запуска CMake он всегда помещает все в папку с именем cmake-build-Configuration (Debug или Release). ). Я МНОГО гуглил, может быть, я просто не могу найти нужную поисковую фразу, я также просматривал Вики, но не смог найти там ничего, что могло бы указать мне правильное направление. Мой CMakeLists.txt для проекта выглядит так:
# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-
cmake_minimum_required(VERSION 2.8.11)
project(main)
# Define some variables
set(PROJECT_PATH "${CMAKE_SOURCE_DIR}/main")
#{{{{ User Code 1
# Place your code here
#}}}}
include_directories(
.
.
)
# Compiler options
add_definitions(-ggdb)
add_definitions(-O0)
add_definitions(-Wall)
add_definitions(-std=c++14)
# Linker options
if(WIN32)
# Resource options
endif(WIN32)
# Library path
set(CMAKE_LDFLAGS "${CMAKE_LDFLAGS} -L. ")
# Define the CXX sources
set ( CXX_SRCS
${CMAKE_SOURCE_DIR}/main/src/main.cpp
)
set_source_files_properties(
${CXX_SRCS} PROPERTIES COMPILE_FLAGS
" -ggdb -O0 -Wall -std=c++14")
if(WIN32)
enable_language(RC)
set(CMAKE_RC_COMPILE_OBJECT
"<CMAKE_RC_COMPILER> ${RC_OPTIONS} -O coff -i <SOURCE> -o <OBJECT>")
endif(WIN32)
#{{{{ User Code 2
# Place your code here
#}}}}
add_executable(main ${RC_SRCS} ${CXX_SRCS} ${C_SRCS})
target_link_libraries(main ${LINK_OPTIONS})
#{{{{ User Code 3
# Place your code here
#}}}}
а это CMakeLists.txt для рабочей области:
# -*- CMakeLists.txt generated by CodeLite IDE. Do not edit by hand -*-
cmake_minimum_required(VERSION 2.8.11)
# Workspace name
project(YoLoEngine)
# This setting is useful for providing JSON file used by CodeLite for code completion
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
# Set default locations
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
#{{{{ User Code 1
# Place your code here
#}}}}
set(CONFIGURATION_NAME "Debug")
#{{{{ User Code 2
# Place your code here
#}}}}
# Projects
add_subdirectory(${CMAKE_SOURCE_DIR}/main)
#{{{{ User Code 3
# Place your code here
#}}}}
Я должен отметить, что у меня очень и очень ограниченные знания о CMake, я только начал учиться его использовать сегодня, и некоторые вещи мне не ясны. Я не пытался манипулировать указанными выше файлами вручную, потому что хотел знать, как настроить вещи внутри CodeLite.
Я использую Ubuntu 18.04 LTS, я скачал CodeLite с apt из репозитория Ubuntu, и его версия 10.0.0.
Спасибо за помощь :)
Изменить 1: я хотел бы настроить это с помощью пользовательского интерфейса CodeLite, а не путем изменения файлов CMakeLists.txt.