diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e3f4bc..695802c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,14 +1,16 @@ -################################# -# mars-dosutils -############## +# DOS utilities for mars-nwe. +# +# Default mode: install a prebuilt net.exe from this source tree. This keeps the +# normal mars-nwe build independent from Open Watcom. +# +# Maintainer mode: configure with -DMARS_NWE_BUILD_DOSUTILS=ON to rebuild +# net.exe with Open Watcom v2 on Linux. set(MARS_DOSUTILS_NET_EXE "${CMAKE_CURRENT_SOURCE_DIR}/net.exe" - CACHE FILEPATH "Prebuilt DOS net.exe used for installation" + CACHE FILEPATH "Prebuilt DOS net.exe used for installation when MARS_NWE_BUILD_DOSUTILS is OFF" ) -set(MARS_DOSUTILS_STACK_SIZE "32768" CACHE STRING "DOS stack size for mars-dosutils net.exe") - set(MARS_DOSUTILS_PUBLIC_TOOLS net login @@ -26,6 +28,9 @@ set(MARS_DOSUTILS_PUBLIC_TOOLS endcap ) +# Do not install slist.exe yet: func_slist() is empty and SLIST is disabled in net.c. +# Do not install tests/debug by default either; they are developer-only helpers. + if(MARS_NWE_BUILD_DOSUTILS) find_package(OpenWatcom REQUIRED) @@ -45,11 +50,7 @@ if(MARS_NWE_BUILD_DOSUTILS) add_custom_command( OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kern.obj" - COMMAND "${CMAKE_COMMAND}" -E env - "WATCOM=${OPENWATCOM_ROOT}" - "PATH=${OPENWATCOM_BINDIR}:$ENV{PATH}" - "INCLUDE=${OPENWATCOM_INCLUDE}" - "EDPATH=${OPENWATCOM_ROOT}/eddat" + COMMAND "${CMAKE_COMMAND}" -E env ${OPENWATCOM_ENV} "${OPENWATCOM_WASM}" -q -zq @@ -62,18 +63,14 @@ if(MARS_NWE_BUILD_DOSUTILS) add_custom_command( OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/net.exe" - COMMAND "${CMAKE_COMMAND}" -E env - "WATCOM=${OPENWATCOM_ROOT}" - "PATH=${OPENWATCOM_BINDIR}:$ENV{PATH}" - "INCLUDE=${OPENWATCOM_INCLUDE}" - "EDPATH=${OPENWATCOM_ROOT}/eddat" + COMMAND "${CMAKE_COMMAND}" -E env ${OPENWATCOM_ENV} "${OPENWATCOM_WCL}" -q -zq -bt=dos -ml -0 - -k${MARS_DOSUTILS_STACK_SIZE} + -k32768 -fe="${CMAKE_CURRENT_BINARY_DIR}/net.exe" ${DOSUTILS_C_SOURCES} "${CMAKE_CURRENT_BINARY_DIR}/kern.obj" @@ -97,7 +94,7 @@ else() message(FATAL_ERROR "Prebuilt DOS utility missing: ${MARS_DOSUTILS_NET_EXE}. " "Either commit net.exe into dosutils or configure with " - "-DMARS_NWE_BUILD_DOSUTILS=ON and OpenWatcom installed." + "-DMARS_NWE_BUILD_DOSUTILS=ON and Open Watcom installed." ) endif() endif()