diff options
| author | Levent Kaya <levent@dev> | 2025-11-05 22:11:58 +0300 |
|---|---|---|
| committer | Levent Kaya <levent@dev> | 2025-11-05 22:11:58 +0300 |
| commit | f6f40266ba57ab2df99b897c375f85f0a8a97856 (patch) | |
| tree | a344923e53224f646fbcbb1abaf3befe6e1ea0d5 /cmake/PlatformConfig.cmake | |
| parent | ce4e4020854e106ead6f505094c668cd896d8817 (diff) | |
[feature] basic structure
Diffstat (limited to 'cmake/PlatformConfig.cmake')
| -rw-r--r-- | cmake/PlatformConfig.cmake | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/cmake/PlatformConfig.cmake b/cmake/PlatformConfig.cmake new file mode 100644 index 0000000..f2f5252 --- /dev/null +++ b/cmake/PlatformConfig.cmake @@ -0,0 +1,26 @@ +# cmake/PlatformConfig.cmake +# +# Set platform-specific compile definitions and helper variables + +function(configure_platform target) + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") + target_compile_definitions(${target} PRIVATE BOLTDBG_PLATFORM_LINUX=1) + message(STATUS "Configuring for Linux") + elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") + target_compile_definitions(${target} PRIVATE BOLTDBG_PLATFORM_MACOS=1) + message(STATUS "Configuring for macOS") + elseif (CMAKE_SYSTEM_NAME MATCHES "Windows") + target_compile_definitions(${target} PRIVATE BOLTDBG_PLATFORM_WINDOWS=1) + message(STATUS "Configuring for Windows") + else() + target_compile_definitions(${target} PRIVATE BOLTDBG_PLATFORM_UNKNOWN=1) + message(WARNING "Unknown platform: ${CMAKE_SYSTEM_NAME}") + endif() + + # Example: helper macro for visibility + if (MSVC) + target_compile_definitions(${target} PRIVATE BOLTDBG_EXPORT=__declspec(dllexport)) + else() + target_compile_definitions(${target} PRIVATE BOLTDBG_EXPORT=__attribute__((visibility(\"default\")))) + endif() +endfunction() |
