mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Add native and cross compiling CMake build support
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# system capabilities checking
|
||||
|
||||
# initial system defaults
|
||||
if(CMAKE_COMPILER_IS_GNUCC)
|
||||
set(MRUBY_DEFAULT_CFLAGS "-Wall -Werror-implicit-function-declaration")
|
||||
set(CMAKE_C_FLAGS "${MRUBY_DEFAULT_CFLAGS}")
|
||||
set(CMAKE_C_FLAGS_DEBUG "-O3 -ggdb")
|
||||
set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
|
||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 -g")
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
|
||||
|
||||
set(MRUBY_LIBS m)
|
||||
else()
|
||||
if(MSVC)
|
||||
# TODO default MSVC flags
|
||||
add_definitions(
|
||||
-D_CRT_SECURE_NO_WARNINGS
|
||||
-wd4018 # suppress 'signed/unsigned mismatch'
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
add_definitions(
|
||||
-DRUBY_EXPORT # required by oniguruma.h
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
# include helpers
|
||||
include(CheckIncludeFile)
|
||||
include(CheckSymbolExists)
|
||||
|
||||
# header checks
|
||||
CHECK_INCLUDE_FILE(string.h HAVE_STRING_H)
|
||||
if(HAVE_STRING_H)
|
||||
add_definitions(-DHAVE_STRING_H)
|
||||
endif()
|
||||
|
||||
CHECK_INCLUDE_FILE(float.h HAVE_FLOAT_H)
|
||||
if(HAVE_FLOAT_H)
|
||||
add_definitions(-DHAVE_FLOAT_H)
|
||||
endif()
|
||||
|
||||
|
||||
# symbol checks
|
||||
CHECK_SYMBOL_EXISTS(gettimeofday sys/time.h HAVE_GETTIMEOFDAY)
|
||||
if(NOT HAVE_GETTIMEOFDAY)
|
||||
add_definitions(-DNO_GETTIMEOFDAY)
|
||||
endif()
|
||||
|
||||
# vim: ts=2 sts=2 sw=2 et
|
||||
Reference in New Issue
Block a user