diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c41527..7097426 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,21 +8,11 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) set(CMAKE_BUILD_TYPE Debug CACHE STRING "" FORCE) endif() -# Configuración de compilador para MinGW en Windows -if(WIN32 AND NOT CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - set(CMAKE_CXX_COMPILER "g++") - set(CMAKE_C_COMPILER "gcc") -endif() - # Establecer estándar de C++ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) -# Configuración global de flags de compilación -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") -set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Os -ffunction-sections -fdata-sections") - # Define el directorio de los archivos fuente set(DIR_SOURCES "${CMAKE_SOURCE_DIR}/source") @@ -123,6 +113,10 @@ endif() # Includes relatius a source/ (p.e. `#include "core/rendering/texture.h"`) target_include_directories(${PROJECT_NAME} PRIVATE ${DIR_SOURCES}) +# Flags de compilació per-target +target_compile_options(${PROJECT_NAME} PRIVATE -Wall) +target_compile_options(${PROJECT_NAME} PRIVATE $<$:-Os -ffunction-sections -fdata-sections>) + # Añadir definiciones de compilación dependiendo del tipo de build target_compile_definitions(${PROJECT_NAME} PRIVATE $<$:DEBUG> @@ -184,8 +178,6 @@ file(GLOB_RECURSE ALL_SOURCE_FILES set(CLANG_TIDY_SOURCES ${ALL_SOURCE_FILES}) -set(FORMAT_SOURCES ${ALL_SOURCE_FILES}) - # Para cppcheck, pasar solo .cpp (los headers se procesan transitivamente). set(CPPCHECK_SOURCES ${ALL_SOURCE_FILES}) list(FILTER CPPCHECK_SOURCES INCLUDE REGEX ".*\\.cpp$") @@ -218,7 +210,7 @@ if(CLANG_FORMAT_EXE) add_custom_target(format COMMAND ${CLANG_FORMAT_EXE} -i - ${FORMAT_SOURCES} + ${ALL_SOURCE_FILES} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMENT "Running clang-format..." ) @@ -227,7 +219,7 @@ if(CLANG_FORMAT_EXE) COMMAND ${CLANG_FORMAT_EXE} --dry-run --Werror - ${FORMAT_SOURCES} + ${ALL_SOURCE_FILES} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMENT "Checking clang-format..." )