Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[cmake] Jak napisać cmake ?

Ostatnio zmodyfikowano dzisiaj: 7h » 44 min
Autor Wiadomość
tBane
Temat założony przez niniejszego użytkownika
[cmake] Jak napisać cmake ?
» 2025-04-29 20:08:52
Cześć. Mam projekt składający się z wielu plików oraz korzystający z biblioteki SFML 2.6.2.
Chciałbym zbudować taki build, który po uruchomieniu stworzy mi pliki projektu Visual Studio 2022 i załączy bibliotekę.

Jak to zrobić ?

Przykładowe pliki
SFML-2.6.2
main.cpp
headers\NatureObject.hpp
headers\Buildings.hpp
P-182301
pekfos
» 2025-04-29 21:33:32
Po co cmake jak masz cały program w jednym pliku? Przeczytaj jakiś tutorial, wystarczy pewnie project(), add_executable(), include_directories(), link_directories() i target_link_libraries().
P-182302
nanoant20
» 2025-04-29 21:49:35
musi określi wersję CMake , standard c++ z jakiego będzię korzystał. Określić, czy używa bibliotek statycznych czy dynamicznych, dodać scieżkę do SFML, czy projekt ma być w wersji Release czy Debug, wskazać źródła, skopiować plik z katalogu np assets do katalogu w którym będzie budował. Linkować biblioteki SFML. Jeżeli będzie używał bibliotek dynamicznych to może je też skopiować do katalogu w którym będzie budował. Chyba że ma dodane biblioteki SFML do zmiennej środowiskowej PATH wtedy CMake będzie wiedział, gdzie szukać plików konfiguracyjnych SFML
trochę tego do ogarnięcia jest
https://cmake.org/cmake/help/book/mastering-cmake/cmake/Help/guide/tutorial/index.html
i jeszcze będzie trzeba ogarnąć jak to zrobić z cl.exe, ponieważ jest widoczny tylko z Developer Command Prompt









P-182303
tBane
Temat założony przez niniejszego użytkownika
» 2025-04-30 12:15:42
Na razie mam coś takiego. Co myślicie? Jak dodać foldery wraz z plikami ?

assets/natures/tree9.png
assets/natures/tree9.msh

assets/natures/rock1.png
assets/natures/rock1.msh


cmake_minimum_required(VERSION 3.15)

# set the project name and version
project(EditorRPG2D VERSION 1.0)

# set the C++ standard
add_library(EditorRPG2D_compiler_flags INTERFACE)
target_compile_features(EditorRPG2D_compiler_flags INTERFACE cxx_std_20)

# add the headers for project
file(GLOB_RECURSE EditorRPG2D_HEADERS "headers/*.hpp")
P-182304
nanoant20
» 2025-04-30 14:53:04
Jak dodać foldery wraz z plikami ?
w dokumentacji CMake file(COPY [...])
https://cmake.org/cmake/help/latest/command/file.html
file({COPY | INSTALL} <file>... DESTINATION <dir> [...])
czyli dla fazy budowania
file(COPY <file-or-directory>... DESTINATION <dir>)
file(COPY [...]) działa rekurencyjnie — oznacza to, że kopiuje cały katalog wraz z jego podkatalogami i zawartością, zachowując strukturę
P-182305
tBane
Temat założony przez niniejszego użytkownika
» 2025-04-30 18:34:52
Ok. Dziękuję :-)
P-182307
« 1 »
  Strona 1 z 1