diff --git a/.gitignore b/.gitignore index e54be5208..fe3a35b37 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ CMakeFiles Makefile *.a -*.cmake /src/*.exe /src/86Box /src/include/86box/version.h diff --git a/cmake/flags-gcc-arm64.cmake b/cmake/flags-gcc-arm64.cmake new file mode 100644 index 000000000..9aa21f4a6 --- /dev/null +++ b/cmake/flags-gcc-arm64.cmake @@ -0,0 +1,4 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) + +set(CMAKE_C_FLAGS "-march=armv8-a -mfloat-abi=hard ${CMAKE_C_FLAGS}") +set(CMAKE_CXX_FLAGS "-march=armv8-a -mfloat-abi=hard ${CMAKE_CXX_FLAGS}") \ No newline at end of file diff --git a/cmake/flags-gcc-armv7.cmake b/cmake/flags-gcc-armv7.cmake new file mode 100644 index 000000000..c832a389e --- /dev/null +++ b/cmake/flags-gcc-armv7.cmake @@ -0,0 +1,4 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) + +set(CMAKE_C_FLAGS "-march=armv7-a -mfloat-abi=hard ${CMAKE_C_FLAGS}") +set(CMAKE_CXX_FLAGS "-march=armv7-a -mfloat-abi=hard ${CMAKE_CXX_FLAGS}") \ No newline at end of file diff --git a/cmake/flags-gcc-i686.cmake b/cmake/flags-gcc-i686.cmake new file mode 100644 index 000000000..fd0a7618c --- /dev/null +++ b/cmake/flags-gcc-i686.cmake @@ -0,0 +1,4 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) + +set(CMAKE_C_FLAGS "-m32 -march=i686 -msse2 -mfpmath=sse ${CMAKE_C_FLAGS}") +set(CMAKE_CXX_FLAGS "-m32 -march=i686 -msse2 -mfpmath=sse ${CMAKE_CXX_FLAGS}") \ No newline at end of file diff --git a/cmake/flags-gcc-x86_64.cmake b/cmake/flags-gcc-x86_64.cmake new file mode 100644 index 000000000..1b8385661 --- /dev/null +++ b/cmake/flags-gcc-x86_64.cmake @@ -0,0 +1,4 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc.cmake) + +set(CMAKE_C_FLAGS "-m64 -march=x86-64 -msse2 -mfpmath=sse ${CMAKE_C_FLAGS}") +set(CMAKE_CXX_FLAGS "-m64 -march=x86-64 -msse2 -mfpmath=sse ${CMAKE_CXX_FLAGS}") \ No newline at end of file diff --git a/cmake/flags-gcc.cmake b/cmake/flags-gcc.cmake new file mode 100644 index 000000000..437b2e39e --- /dev/null +++ b/cmake/flags-gcc.cmake @@ -0,0 +1,10 @@ +set(CMAKE_CONFIGURATION_TYPES Debug;Release;Optimized) + +set(CMAKE_C_FLAGS "-fomit-frame-pointer -mstackrealign -Wall -fno-strict-aliasing") +set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) +set(CMAKE_C_FLAGS_RELEASE "-g0 -O3") +set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) +set(CMAKE_C_FLAGS_DEBUG "-ggdb -Og") +set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) +set(CMAKE_C_FLAGS_OPTIMIZED "-march=native -mtune=native -O3 -ffp-contract=fast -flto") +set(CMAKE_CXX_FLAGS_OPTIMIZED ${CMAKE_C_FLAGS_OPTIMIZED}) \ No newline at end of file diff --git a/cmake/llvm-win32-arm64.cmake b/cmake/llvm-win32-arm64.cmake new file mode 100644 index 000000000..1648382c3 --- /dev/null +++ b/cmake/llvm-win32-arm64.cmake @@ -0,0 +1,10 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc-arm64.cmake) + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_RC_COMPILER rc) + +set(CMAKE_C_COMPILER_TARGET aarch64-pc-windows-msvc) +set(CMAKE_CXX_COMPILER_TARGET aarch64-pc-windows-msvc) + +set(CMAKE_SYSTEM_PROCESSOR ARM64) \ No newline at end of file diff --git a/cmake/llvm-win32-i686.cmake b/cmake/llvm-win32-i686.cmake new file mode 100644 index 000000000..c7fec1749 --- /dev/null +++ b/cmake/llvm-win32-i686.cmake @@ -0,0 +1,10 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc-i686.cmake) + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_RC_COMPILER rc) + +set(CMAKE_C_COMPILER_TARGET i686-pc-windows-msvc) +set(CMAKE_CXX_COMPILER_TARGET i686-pc-windows-msvc) + +set(CMAKE_SYSTEM_PROCESSOR X86) \ No newline at end of file diff --git a/cmake/llvm-win32-x86_64.cmake b/cmake/llvm-win32-x86_64.cmake new file mode 100644 index 000000000..c26940aaa --- /dev/null +++ b/cmake/llvm-win32-x86_64.cmake @@ -0,0 +1,10 @@ +include(${CMAKE_CURRENT_LIST_DIR}/flags-gcc-x86_64.cmake) + +set(CMAKE_C_COMPILER clang) +set(CMAKE_CXX_COMPILER clang++) +set(CMAKE_RC_COMPILER rc) + +set(CMAKE_C_COMPILER_TARGET x86_64-pc-windows-msvc) +set(CMAKE_CXX_COMPILER_TARGET x86_64-pc-windows-msvc) + +set(CMAKE_SYSTEM_PROCESSOR AMD64) \ No newline at end of file