mirror of
https://github.com/aaru-dps/fstester.git
synced 2025-12-16 19:24:39 +00:00
Add CMake files for 32-bit OS/2 using OpenWatcom.
This commit is contained in:
@@ -32,3 +32,4 @@ add_subdirectory(win32)
|
|||||||
add_subdirectory(unix)
|
add_subdirectory(unix)
|
||||||
add_subdirectory(beos)
|
add_subdirectory(beos)
|
||||||
add_subdirectory(amiga)
|
add_subdirectory(amiga)
|
||||||
|
add_subdirectory(os2)
|
||||||
39
setter/src/os2/16bit/CMakeLists.txt
Normal file
39
setter/src/os2/16bit/CMakeLists.txt
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
# /****************************************************************************
|
||||||
|
# Aaru Data Preservation Suite
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Author(s) : Natalia Portillo
|
||||||
|
#
|
||||||
|
# --[ License ] ---------------------------------------------------------------
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Copyright (C) 2011-2021 Natalia Portillo
|
||||||
|
# *****************************************************************************/
|
||||||
|
|
||||||
|
if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "I86")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
project(fssetter-os2
|
||||||
|
DESCRIPTION "Filesystem test creator for 16-bit OS/2"
|
||||||
|
LANGUAGES C)
|
||||||
|
|
||||||
|
set(SUBPLATFORM_SOURCES os.c xattr.c xattr.h)
|
||||||
|
|
||||||
|
set(EXECUTABLE_NAME "fssetter")
|
||||||
|
|
||||||
|
add_executable(${EXECUTABLE_NAME} ${SUBPLATFORM_SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(${EXECUTABLE_NAME} core platform)
|
||||||
41
setter/src/os2/32bit/CMakeLists.txt
Normal file
41
setter/src/os2/32bit/CMakeLists.txt
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# /****************************************************************************
|
||||||
|
# Aaru Data Preservation Suite
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Author(s) : Natalia Portillo
|
||||||
|
#
|
||||||
|
# --[ License ] ---------------------------------------------------------------
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Copyright (C) 2011-2021 Natalia Portillo
|
||||||
|
# *****************************************************************************/
|
||||||
|
|
||||||
|
if(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
project(fssetter-os2
|
||||||
|
DESCRIPTION "Filesystem test creator for 32-bit OS/2"
|
||||||
|
LANGUAGES C)
|
||||||
|
|
||||||
|
set(SUBPLATFORM_SOURCES os.c xattr.c)
|
||||||
|
|
||||||
|
set(EXECUTABLE_NAME "fssetter32")
|
||||||
|
|
||||||
|
find_library(OS2LIB "os2386")
|
||||||
|
|
||||||
|
add_executable(${EXECUTABLE_NAME} ${SUBPLATFORM_SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(${EXECUTABLE_NAME} core platform)
|
||||||
35
setter/src/os2/CMakeLists.txt
Normal file
35
setter/src/os2/CMakeLists.txt
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# /****************************************************************************
|
||||||
|
# Aaru Data Preservation Suite
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Author(s) : Natalia Portillo
|
||||||
|
#
|
||||||
|
# --[ License ] ---------------------------------------------------------------
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation, either version 3 of the
|
||||||
|
# License, or (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
# Copyright (C) 2011-2021 Natalia Portillo
|
||||||
|
# *****************************************************************************/
|
||||||
|
|
||||||
|
if(NOT OS2)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(PLATFORM_SOURCES attr.c attr.h deleted.c dirdepth.c filename.c files.c frag.c links.c os2defs.h perms.c rsrcfork.c sparse.c time.c volume.c)
|
||||||
|
|
||||||
|
add_library(platform ${PLATFORM_SOURCES})
|
||||||
|
|
||||||
|
add_subdirectory(16bit)
|
||||||
|
add_subdirectory(32bit)
|
||||||
|
|
||||||
4
setter/toolchains/genow.sh
Executable file
4
setter/toolchains/genow.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Generates compilation databases for OpenWatcom
|
||||||
|
mkdir -p ../projects/compdb/ow/os2v2
|
||||||
|
cmake -B ../projects/compdb/ow/os2v2 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE=toolchains/ow-os2.cmake ..
|
||||||
46
setter/toolchains/ow-os2.cmake
Normal file
46
setter/toolchains/ow-os2.cmake
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
if(NOT ${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux|Windows")
|
||||||
|
message(FATAL_ERROR "Unsupported system")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "x86_64|i386")
|
||||||
|
message(FATAL_ERROR "Unsupported architecture")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if("$ENV{WATCOM}" STREQUAL "")
|
||||||
|
if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
set(ENV{WATCOM} "/opt/watcom")
|
||||||
|
else()
|
||||||
|
set(ENV{WATCOM} "C:\\WATCOM")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Linux")
|
||||||
|
if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "x86_64")
|
||||||
|
set(WATCOM_BIN_PATH "$ENV{WATCOM}/binl64/")
|
||||||
|
set(ENV{PATH} "$ENV{WATCOM}/binl64:$ENV{WATCOM}/binl:$ENV{PATH}")
|
||||||
|
else()
|
||||||
|
set(WATCOM_BIN_PATH "$ENV{WATCOM}/binl/")
|
||||||
|
set(ENV{PATH} "$ENV{WATCOM}/binl:$ENV{PATH}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(ENV{EDPATH} "$ENV{WATCOM}/eddat")
|
||||||
|
set(ENV{WIPFC} "$ENV{WATCOM}/wipfc")
|
||||||
|
else()
|
||||||
|
if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "x86_64")
|
||||||
|
set(WATCOM_BIN_PATH "$ENV{WATCOM}\\binnt64\\")
|
||||||
|
set(ENV{PATH} "$ENV{WATCOM}\\binnt64;$ENV{WATCOM}/binnt;$ENV{PATH}")
|
||||||
|
else()
|
||||||
|
set(ENV{PATH} "$ENV{WATCOM}\\binnt;$ENV{PATH}")
|
||||||
|
set(WATCOM_BIN_PATH "$ENV{WATCOM}\\binnt\\")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(ENV{EDPATH} "$ENV{WATCOM}\\eddat")
|
||||||
|
set(ENV{WIPFC} "$ENV{WATCOM}\\wipfc")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_compile_options(-3r)
|
||||||
|
add_compile_options(-mf)
|
||||||
|
add_compile_options(-l=os2v2)
|
||||||
|
set(CMAKE_SYSTEM_NAME OS2)
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR i386)
|
||||||
|
set(CMAKE_C_COMPILER "${WATCOM_BIN_PATH}wcl386")
|
||||||
Reference in New Issue
Block a user