Cleanup build files

This commit is contained in:
Gary Talent 2018-03-09 21:45:46 -06:00
parent a2cf756f4a
commit 493060955b
4 changed files with 31 additions and 35 deletions

View File

@ -15,29 +15,47 @@ if(OX_BUILD_EXEC STREQUAL "OFF" OR OX_USE_STDLIB STREQUAL "OFF")
set(OX_RUN_TESTS "OFF") set(OX_RUN_TESTS "OFF")
endif() endif()
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
if(OX_USE_STDLIB STREQUAL "ON") if(OX_USE_STDLIB STREQUAL "ON")
add_definitions(-DOX_USE_STDLIB) add_definitions(-DOX_USE_STDLIB)
endif() endif()
if(NOT MSVC) if(NOT MSVC)
add_definitions( add_definitions(
-std=c++11 -std=c++17
-Wall
-nostdlib -nostdlib
-fno-exceptions -fno-exceptions
-fno-rtti -fno-rtti
-Wall
-Wextra
-Wsign-compare -Wsign-compare
-Wunused-variable -Wunused-variable
#--analyze
#-Os # GCC size optimization flag
) )
if (CMAKE_BUILD_TYPE STREQUAL "Release") if (CMAKE_BUILD_TYPE STREQUAL "Release")
add_definitions( add_definitions(
-Werror -Werror
-O3
)
endif()
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
add_definitions(
-fdiagnostics-color # forces colored output when using ninja
)
endif()
endif()
if (CMAKE_BUILD_TYPE STREQUAL "Release")
add_definitions(
-DNDEBUG
)
else()
add_definitions(
-DDEBUG
) )
endif() endif()
endif(NOT MSVC)
enable_testing() enable_testing()

View File

@ -1,32 +1,26 @@
ifneq ($(shell which gmake),)
MAKE=gmake -j
else
MAKE=make
endif
all: gba_build native_build native_debug_build windows_release windows_debug all: gba_build native_build native_debug_build windows_release windows_debug
gba_build: gba_build:
@if [ -d gba-release ]; then \ @if [ -d gba-release ]; then \
${MAKE} -C gba-release ${ARGS}; \ cmake --build gba-release --target ${ARGS}; \
fi fi
native_build: native_build:
@if [ -d ${HOST_ENV}-release ]; then \ @if [ -d ${HOST_ENV}-release ]; then \
${MAKE} -C ${HOST_ENV}-release ${ARGS}; \ cmake --build ${HOST_ENV}-release --target ${ARGS}; \
fi fi
native_debug_build: native_debug_build:
@if [ -d ${HOST_ENV}-debug ]; then \ @if [ -d ${HOST_ENV}-debug ]; then \
${MAKE} -C ${HOST_ENV}-debug ${ARGS}; \ cmake --build ${HOST_ENV}-debug --target ${ARGS}; \
fi fi
windows_release: windows_release:
@if [ -d windows-release ]; then \ @if [ -d windows-release ]; then \
${MAKE} -C windows-release ${ARGS}; \ cmake --build windows-release --target ${ARGS}; \
fi fi
windows_debug: windows_debug:
@if [ -d windows-debug ]; then \ @if [ -d windows-debug ]; then \
${MAKE} -C windows-debug ${ARGS}; \ cmake --build windows-debug --target ${ARGS}; \
fi fi

View File

@ -1,11 +1,6 @@
set(CMAKE_SYSTEM_NAME "Generic") set(CMAKE_SYSTEM_NAME "Generic")
set(DEVKITARM $ENV{DEVKITARM}) set(DEVKITARM $ENV{DEVKITARM})
set(DEVKITPRO $ENV{DEVKITPRO})
if(NOT DEVKITPRO)
message(FATAL_ERROR "DEVKITPRO environment variable not set")
endif()
if(NOT DEVKITARM) if(NOT DEVKITARM)
message(FATAL_ERROR "DEVKITARM environment variable not set") message(FATAL_ERROR "DEVKITARM environment variable not set")
@ -13,7 +8,7 @@ endif()
set(CMAKE_C_COMPILER ${DEVKITARM}/bin/arm-none-eabi-gcc) set(CMAKE_C_COMPILER ${DEVKITARM}/bin/arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER ${DEVKITARM}/bin/arm-none-eabi-g++) set(CMAKE_CXX_COMPILER ${DEVKITARM}/bin/arm-none-eabi-g++)
set(CMAKE_FIND_ROOT_PATH ${DEVKITARM} ${DEVKITPRO}/libgba) set(CMAKE_FIND_ROOT_PATH ${DEVKITARM})
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
@ -26,16 +21,4 @@ add_definitions (
-DARM7 -DARM7
) )
find_library(GBA_LIBRARY
NAMES
gba
PATHS
/lib
)
find_path(GBA_INCLUDE_DIR gba.h
PATHS
/include
)
include(FindPackageHandleStandardArgs) include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GBA DEFAULT_MSG GBA_LIBRARY)

View File

@ -24,6 +24,7 @@ fi
mkdir -p $buildDir mkdir -p $buildDir
pushd $buildDir pushd $buildDir
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
-GNinja \
$buildTypeArgs \ $buildTypeArgs \
$toolchain \ $toolchain \
$project $project