diff options
Diffstat (limited to 'Modules/Platform/Linux-OpenWatcom.cmake')
-rw-r--r-- | Modules/Platform/Linux-OpenWatcom.cmake | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Modules/Platform/Linux-OpenWatcom.cmake b/Modules/Platform/Linux-OpenWatcom.cmake index 5b4e995..731fd3c 100644 --- a/Modules/Platform/Linux-OpenWatcom.cmake +++ b/Modules/Platform/Linux-OpenWatcom.cmake @@ -10,16 +10,25 @@ string(APPEND CMAKE_EXE_LINKER_FLAGS_INIT " system linux opt noextension") string(APPEND CMAKE_MODULE_LINKER_FLAGS_INIT " system linux") string(APPEND CMAKE_SHARED_LINKER_FLAGS_INIT " system linux") +cmake_policy(GET CMP0136 __LINUX_WATCOM_CMP0136) +if(__LINUX_WATCOM_CMP0136 STREQUAL "NEW") + set(CMAKE_WATCOM_RUNTIME_LIBRARY_DEFAULT "SingleThreaded") +else() + set(CMAKE_WATCOM_RUNTIME_LIBRARY_DEFAULT "") +endif() +unset(__LINUX_WATCOM_CMP0136) + # single/multi-threaded /-bm # default is setup for single-threaded libraries string(APPEND CMAKE_C_FLAGS_INIT " -bt=linux") string(APPEND CMAKE_CXX_FLAGS_INIT " -bt=linux -xs") -if(CMAKE_CROSSCOMPILING) - if(NOT CMAKE_C_STANDARD_INCLUDE_DIRECTORIES) - set(CMAKE_C_STANDARD_INCLUDE_DIRECTORIES $ENV{WATCOM}/lh) +macro(__linux_open_watcom lang) + if(CMAKE_CROSSCOMPILING) + if(NOT CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES) + set(CMAKE_${lang}_STANDARD_INCLUDE_DIRECTORIES $ENV{WATCOM}/lh) + endif() endif() - if(NOT CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES) - set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES $ENV{WATCOM}/lh) - endif() -endif() + set(CMAKE_${lang}_COMPILE_OPTIONS_WATCOM_RUNTIME_LIBRARY_SingleThreaded "") + set(CMAKE_${lang}_COMPILE_OPTIONS_WATCOM_RUNTIME_LIBRARY_MultiThreaded -bm) +endmacro() |