Sha256: edeb0b54f7ff2b94ed2391f1c94da485f1a0b8528989244d670d980e89a4fc93

Contents?: true

Size: 1.63 KB

Versions: 8

Compression:

Stored size: 1.63 KB

Contents

cmake_minimum_required(VERSION 3.11)

if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE "MinSizeRel" CACHE STRING "Choose the type of build, options are: Debug, Release, or MinSizeRel." FORCE)
    message(STATUS "No build type specified, defaulting to MinSizeRel.")
endif()

PROJECT(dos VERSION "${PROJECT_VERSION}" LANGUAGES C)
MESSAGE(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")

include(project_common)

if(WATCOM)
    # this requires using the following toolchainfile file
    #     -DCMAKE_TOOLCHAIN_FILE={path}\watcom_open_dos_toolchain.cmake

    string(APPEND CMAKE_C_FLAGS " -wx")  # warning level: to maximum setting
    
    if(WATCOM_DOS32)
        string(APPEND CMAKE_C_FLAGS " -mf")  # memory model: options are flat (-mf), large (-ml), memdium (-mm), small (-ms)
    else()
        string(APPEND CMAKE_C_FLAGS " -ml")  # memory model: options are large (-ml), memdium (-mm), small (-ms)
    endif()

    string(APPEND CMAKE_C_FLAGS_RELEASE " -oneatx")
    string(APPEND CMAKE_C_FLAGS_MINSIZEREL " -oneatx")
    # optimization: 
    # n -> allow numerically unstable optimizations
    # e -> expand user functions inline
    # a -> relax aliasing constraints
    # t -> favor execution time over code size in optimizations
    # x -> equivalent to -obmiler -s

    string(APPEND CMAKE_C_FLAGS_DEBUG " -d2") # full symbolic debugging info
    string(APPEND CMAKE_EXE_LINKER_FLAGS_DEBUG " debug watcom all")

endif()

demo_app(../demos version)
demo_app(../demos firework)
demo_app(../demos ozdemo)
demo_app(../demos newtest)
demo_app(../demos ptest)
demo_app(../demos rain)
demo_app(../demos testcurs)
demo_app(../demos worm)
demo_app(../demos xmas)

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
curses-1.4.7 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.5 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.4 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.4.beta.1 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.3 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.2 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.1 vendor/PDCurses/dos/CMakeLists.txt
curses-1.4.0 vendor/PDCurses/dos/CMakeLists.txt