Корень проекта:
Код: Выделить всё
cmake_minimum_required(VERSION 3.22)
project(ShadowContainers)
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
include_directories(include/)
add_subdirectory(library)
...
Код: Выделить всё
add_library(libShadows shadows.tpp ../include/shadows.hpp)
set_target_properties(libShadows PROPERTIES LINKER_LANGUAGE CXX) # a tpp and an hpp aren't enough to make the system certain it's c++
target_compile_features(libShadows PRIVATE cxx_std_23)
Код: Выделить всё
Done Building Project "C:\Users\[..]\projects\Shadow Array\library\libShadows.vcxproj" (default targets).
Done Building Project "C:\Users\[..]\projects\Shadow Array\library\libShadows.vcxproj.metaproj" (default targets).
Был ли у кого-нибудь такой опыт? ? Любая помощь приветствуется. Спасибо!
Изменить:
Чтобы скомпилировать проект, я попробовал:
Мой типичный процесс ( рабочий каталог = корень проекта):
Код: Выделить всё
cmake .
msbuild ShadowContainers.sln
Код: Выделить всё
mkdir build
cd build
cmake ..
cmake --build .
Подробнее здесь: https://stackoverflow.com/questions/725 ... sful-build