You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PDCursesMod/cmake/watcom_open_dos16_toolchain...

91 lines
2.9 KiB
CMake

include_guard()
set(DOS 1)
set(CMAKE_BUILD_TYPE RelWithDebInfo)
set(CMAKE_SYSTEM_NAME "Generic")
set(CMAKE_SYSTEM_PROCESSOR "I86")
set(CMAKE_C_COMPILER "wcl")
set(CMAKE_CXX_COMPILER "wcl")
set(CMAKE_ASM_COMPILER "wasm")
if(CMAKE_VERBOSE_MAKEFILE)
set(CMAKE_WCL_QUIET)
set(CMAKE_WLINK_QUIET)
set(CMAKE_LIB_QUIET)
else()
set(CMAKE_WCL_QUIET "-zq")
set(CMAKE_WLINK_QUIET "op q")
set(CMAKE_LIB_QUIET "-q")
endif()
foreach(lang C CXX ASM)
set(CMAKE_EXECUTABLE_SUFFIX_${lang} ".exe")
set(CMAKE_${lang}_LINK_LIBRARY_SUFFIX ".lib")
set(CMAKE_STATIC_LIBRARY_PREFIX_${lang} "")
set(CMAKE_STATIC_LIBRARY_SUFFIX_${lang} ".lib")
set(CMAKE_SHARED_LIBRARY_PREFIX_${lang} "")
set(CMAKE_SHARED_LIBRARY_SUFFIX_${lang} ".dll")
set(CMAKE_IMPORT_LIBRARY_PREFIX_${lang} "")
set(CMAKE_IMPORT_LIBRARY_SUFFIX_${lang} ".lib")
endforeach()
set(CMAKE_DL_LIBS "")
set(CMAKE_FIND_LIBRARY_PREFIXES "")
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
set(CMAKE_LIBRARY_PATH_FLAG "libpath ")
set(CMAKE_LINK_LIBRARY_FLAG "library ")
set(CMAKE_LINK_LIBRARY_FILE_FLAG "library ")
set(CMAKE_C_COMPILE_OPTIONS_DLL "")
set(CMAKE_SHARED_LIBRARY_C_FLAGS "")
foreach(type EXE SHARED MODULE)
set(CMAKE_${type}_LINKER_FLAGS_INIT " system dos opt map, noext")
set(CMAKE_${type}_LINKER_FLAGS_DEBUG_INIT " debug all")
set(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO_INIT " debug all")
endforeach()
set(CMAKE_C_FLAGS_INIT " -w3 -bt=dos")
set(CMAKE_C_FLAGS_DEBUG_INIT " -d2")
set(CMAKE_C_FLAGS_MINSIZEREL_INIT " -s -os -d0 -dNDEBUG")
set(CMAKE_C_FLAGS_RELEASE_INIT " -s -ot -d0 -dNDEBUG")
set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT " -s -ot -d1 -dNDEBUG")
foreach(type CREATE_SHARED_LIBRARY CREATE_SHARED_MODULE LINK_EXECUTABLE)
set(CMAKE_C_${type}_USE_WATCOM_QUOTE 1)
endforeach()
set(CMAKE_C_CREATE_IMPORT_LIBRARY
"wlib ${CMAKE_LIB_QUIET} -c -n -b <TARGET_IMPLIB> +<TARGET_QUOTED>")
set(CMAKE_C_LINK_EXECUTABLE
"wlink ${CMAKE_WLINK_QUIET} name <TARGET> <LINK_FLAGS> file {<OBJECTS>} <LINK_LIBRARIES>")
# compile a C file into an object file
set(CMAKE_C_COMPILE_OBJECT
"<CMAKE_C_COMPILER> ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo=\"<OBJECT>\" -c -cc \"<SOURCE>\"")
# preprocess a C source file
set(CMAKE_C_CREATE_PREPROCESSED_SOURCE
"<CMAKE_C_COMPILER> ${CMAKE_WCL_QUIET} -d+ <DEFINES> <INCLUDES> <FLAGS> -fo=\"<PREPROCESSED_SOURCE>\" -pl -cc \"<SOURCE>\"")
string(REPLACE " option implib=<TARGET_IMPLIB>" ""
CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
# create a C shared library
set(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
# create a C shared module
set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_MODULE})
# create a C static library
set(CMAKE_C_CREATE_STATIC_LIBRARY "wlib ${CMAKE_LIB_QUIET} -c -n -b <TARGET_QUOTED> <LINK_FLAGS> <OBJECTS> ")
message(STATUS "Configured for DOS (16-bit)")
set(WATCOM_DOS16 TRUE)
set(WATCOM_DOS32 FALSE)