chore(*): add PLATFORM_COMPILER_* macros and other tools

This commit is contained in:
2024-11-21 10:23:17 +08:00
parent 7107fc6b8a
commit a952c31546
2 changed files with 58 additions and 5 deletions

View File

@@ -39,9 +39,24 @@ else ()
add_compile_definitions ("BUILD_TYPE=${CMAKE_BUILD_TYPE}")
endif ()
# Define compiler macros
if (CMAKE_C_COMPILER_ID MATCHES "MSVC" AND CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
add_compile_definitions ("PLATFORM_COMPILER_MSVC=1")
add_compile_definitions ("PLATFORM_COMPILER_NAME=MSVC")
elseif (CMAKE_C_COMPILER_ID MATCHES "GNU" AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
add_compile_definitions ("PLATFORM_COMPILER_GCC=1")
add_compile_definitions ("PLATFORM_COMPILER_NAME=GCC")
elseif (CMAKE_C_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_definitions ("PLATFORM_COMPILER_CLANG=1")
add_compile_definitions ("PLATFORM_COMPILER_NAME=Clang")
else ()
add_compile_definitions ("PLATFORM_COMPILER_UNKNOWN=1")
add_compile_definitions ("PLATFORM_COMPILER_NAME=${CMAKE_C_COMPILER_ID}/${CMAKE_CXX_COMPILER_ID}")
endif ()
# Add subproject
file (GLOB PROJECT_FOLDERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*")
foreach (PROJECT_SUBDIRECTORY ${PROJECT_FOLDERS})
foreach (PROJECT_SUBDIRECTORY ${PROJECT_FOLDERS})
if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_SUBDIRECTORY}")
file (GLOB PROJECT_CMAKELISTS "${PROJECT_SUBDIRECTORY}/CMakeLists.txt")
if (NOT "${PROJECT_CMAKELISTS}" STREQUAL "")