-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
60 lines (47 loc) · 2.35 KB
/
CMakeLists.txt
File metadata and controls
60 lines (47 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
cmake_minimum_required(VERSION 3.17)
project(SisRefugio33)
# Establece el estándar de C++ a utilizar
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED True)
# Soporte para VCPKG
if(DEFINED ENV{VCPKG_ROOT})
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
CACHE STRING "")
endif()
# Recopila todos los archivos fuente dentro del directorio src
file(GLOB_RECURSE SRC_FILES "${CMAKE_SOURCE_DIR}/src/*.cpp")
# Define el ejecutable y sus archivos fuente
add_executable(${CMAKE_PROJECT_NAME} ${SRC_FILES}
include/dataStructures/decisionTree.hpp
src/decisionTree.cpp)
# Establece el directorio de inclusión para los archivos de cabecera usando target_include_directories
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/include")
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/include/dataStructures")
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/include/characters")
target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE "${CMAKE_SOURCE_DIR}/include/engine")
# Copia todos los archivos de la carpeta assets al directorio de ejecución
add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_SOURCE_DIR}/assets" "$<TARGET_FILE_DIR:${CMAKE_PROJECT_NAME}>/assets"
)
if (ENABLE_TESTS)
# Si ENABLE_TESTS está habilitado, añade el subdirectorio de pruebas
message(STATUS "Habilitando pruebas unitarias")
find_package(GTest CONFIG REQUIRED)
include(CTest)
include(GoogleTest)
set(TEST_SRC_DIR "${CMAKE_SOURCE_DIR}/tests")
set(UNIT_SRC_DIR "${TEST_SRC_DIR}/unit")
add_executable(unit_tests
${UNIT_SRC_DIR}/wrapperVector_test.cpp
)
target_include_directories(unit_tests PRIVATE "${CMAKE_SOURCE_DIR}/include")
target_include_directories(unit_tests PRIVATE "${CMAKE_SOURCE_DIR}/include/dataStructures")
target_include_directories(unit_tests PRIVATE "${CMAKE_SOURCE_DIR}/include/characters")
target_include_directories(unit_tests PRIVATE "${CMAKE_SOURCE_DIR}/include/engine")
enable_testing()
target_link_libraries(unit_tests PRIVATE GTest::gtest GTest::gtest_main GTest::gmock GTest::gmock)
gtest_discover_tests(unit_tests)
else()
message(STATUS "Pruebas unitarias deshabilitadas")
endif(ENABLE_TESTS)