123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- cmake_minimum_required(VERSION 2.8)
- cmake_policy(SET CMP0015 NEW)
- project(ERUTA C)
- set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake/)
- include(CheckCSourceCompiles)
- include(CheckCXXSourceCompiles)
- if(CMAKE_COMPILER_IS_GNUCC)
- set(COMPILER_GCC 1)
- set(CMAKE_C_FLAGS "-W -Wall -Wno-unused -Wno-unknown-pragmas -g3 -gdwarf-2 -std=c99 -ffast-math -fsanitize=address -fno-omit-frame-pointer -fstrict-aliasing -Wstrict-aliasing=2")
- else(CMAKE_COMPILER_IS_GNUCC)
- set(CMAKE_C_FLAGS "-W -Wall -Wno-unused -Wno-unknown-pragmas -g -std=c99 -ffast-math -fstrict-aliasing -Wstrict-aliasing=2")
- endif(CMAKE_COMPILER_IS_GNUCC)
- find_package(Mruby REQUIRED)
- find_package(Allegro5 REQUIRED)
- find_package(PNG REQUIRED)
- find_package(JPEG REQUIRED)
- include_directories(${ALLEGRO_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${JPEG_INCLUDE_DIR} ${MRUBY_INCLUDE_DIR})
- set(ERUTA_LIBS ${LIBS} ${OBJC_LIBRARIES} ${ALLEGRO_LIBRARIES} ${PNG_LIBRARY} ${JPEG_LIBRARY} ${MRUBY_LIBRARIES})
- include_directories("include")
- include_directories("include/zori")
- include_directories("include/tr")
- include(ErutaFiles)
- set_source_files_properties(${ERUTA_SRC_FILES} PROPERTIES LANGUAGE C)
- set(RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
- set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
- add_library(ERUTA_OBJECTS OBJECT ${ERUTA_SRC_FILES})
- add_executable(eruta $<TARGET_OBJECTS:ERUTA_OBJECTS> src/main.c)
- target_link_libraries(eruta ${ERUTA_LIBS})
- enable_testing()
- set(CMAKE_CTEST_OPTIONS --output-on-failure)
- set(CTEST_OUTPUT_ON_FAILURE TRUE)
- set(CTEST_MEMORYCHECK_COMMAND:FILEPATH "/usr/bin/valgrind")
- add_subdirectory("test")
|