mirror of
https://github.com/aaru-dps/fstester.git
synced 2025-12-16 19:24:39 +00:00
Add cmake file for cross compiling using DJGPP.
This commit is contained in:
@@ -1,12 +1,12 @@
|
|||||||
cmake_minimum_required(VERSION 2.20)
|
cmake_minimum_required(VERSION 2.20)
|
||||||
|
|
||||||
project(setter C)
|
project(setter C)
|
||||||
|
|
||||||
set(CMAKE_C_STANDARD 90)
|
set(CMAKE_C_STANDARD 90)
|
||||||
|
|
||||||
add_subdirectory(src)
|
add_subdirectory(src)
|
||||||
|
|
||||||
message(${CMAKE_C_COMPILER_VERSION})
|
add_subdirectory(src/dos)
|
||||||
|
|
||||||
add_subdirectory(src/unix)
|
add_subdirectory(src/unix)
|
||||||
add_subdirectory(src/linux)
|
add_subdirectory(src/linux)
|
||||||
|
|
||||||
|
|||||||
15
setter/src/dos/CMakeLists.txt
Normal file
15
setter/src/dos/CMakeLists.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
if(NOT DOS)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
project(fssetter-dos
|
||||||
|
DESCRIPTION "Filesystem test creator for DOS"
|
||||||
|
LANGUAGES C)
|
||||||
|
|
||||||
|
set(PLATFORM_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c)
|
||||||
|
|
||||||
|
set(EXECUTABLE_NAME "fssetter")
|
||||||
|
|
||||||
|
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(${EXECUTABLE_NAME} core)
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
if(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
if(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||||
return()
|
return()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
43
setter/toolchains/djgpp.cmake
Normal file
43
setter/toolchains/djgpp.cmake
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
set(CMAKE_SYSTEM_NAME Generic)
|
||||||
|
|
||||||
|
set(DOS 1)
|
||||||
|
set(DJGPP 1)
|
||||||
|
|
||||||
|
set(CMAKE_STATIC_LIBRARY_PREFIX "")
|
||||||
|
set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
|
||||||
|
set(CMAKE_SHARED_LIBRARY_PREFIX "")
|
||||||
|
set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
|
||||||
|
set(CMAKE_IMPORT_LIBRARY_PREFIX "")
|
||||||
|
set(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
|
||||||
|
set(CMAKE_EXECUTABLE_SUFFIX ".exe")
|
||||||
|
set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
|
||||||
|
set(CMAKE_DL_LIBS "")
|
||||||
|
|
||||||
|
set(CMAKE_FIND_LIBRARY_PREFIXES "")
|
||||||
|
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
||||||
|
|
||||||
|
set(CMAKE_CROSSCOMPILING 1)
|
||||||
|
set(CMAKE_CROSSCOMPILING_EMULATOR dosbox)
|
||||||
|
|
||||||
|
# specify the cross compiler
|
||||||
|
set(CMAKE_C_COMPILER i686-pc-msdosdjgpp-gcc)
|
||||||
|
set(CMAKE_CXX_COMPILER i686-pc-msdosdjgpp-g++)
|
||||||
|
|
||||||
|
# where is the target environment
|
||||||
|
set(CMAKE_FIND_ROOT_PATH /usr/i686-pc-msdosdjgpp)
|
||||||
|
|
||||||
|
# search for programs in the build host directories
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
# for libraries and headers in the target directories
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||||
|
|
||||||
|
# Make sure Qt can be detected by CMake
|
||||||
|
set(QT_BINARY_DIR /usr/i686-pc-msdosdjgpp/bin /usr/bin)
|
||||||
|
set(QT_INCLUDE_DIRS_NO_SYSTEM ON)
|
||||||
|
|
||||||
|
# These are needed for compiling lapack (RHBZ #753906)
|
||||||
|
set(CMAKE_Fortran_COMPILER i686-pc-msdosdjgpp-gfortran)
|
||||||
|
set(CMAKE_AR:FILEPATH i686-pc-msdosdjgpp-ar)
|
||||||
|
set(CMAKE_RANLIB:FILEPATH i686-pc-msdosdjgpp-ranlib)
|
||||||
Reference in New Issue
Block a user