1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
cmake_minimum_required(VERSION 3.11)
project(grcompiler)
enable_language(CXX C)
enable_testing()
include(TestBigEndian)
include(FetchContent)
include(CTest)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED 14)
include(GNUInstallDirs)
test_big_endian(BIGENDIAN_SYSTEM)
if (NOT CMAKE_BUILD_TYPE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY VALUE Release)
endif()
if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
add_definitions(-D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -DWIN32 -D_WINDOWS)
if (NOT DEFINED ICU_ROOT AND NOT DEFINED FETCHCONTENT_SOURCE_DIR_ICU)
string(REGEX REPLACE "^x64$" "Win64" _icu_platform_name ${CMAKE_VS_PLATFORM_NAME})
set(ICU_URL https://github.com/unicode-org/icu/releases/download/release-66-1/icu4c-66_1-${_icu_platform_name}-MSVC2017.zip)
endif()
endif()
add_subdirectory(doc)
add_subdirectory(preprocessor)
add_subdirectory(compiler)
add_subdirectory(test)
|