-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
60 lines (52 loc) · 1.95 KB
/
CMakeLists.txt
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
cmake_minimum_required(VERSION 3.15)
project(Re2cPythonDistributions NONE)
set(default_build_type "Release")
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
STRING "Choose the type of build." FORCE)
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
enable_language(CXX)
enable_language(C)
include(ExternalProject)
include(re2c_version.cmake)
set(_re2c_cache_args)
set(_re2c_build_flags)
# if(WIN32)
# set(_re2c_build_flags "${_re2c_build_flags} -static -static-libgcc -static-libstdc++")
# endif()
# re2c
set(RE2C_SOURCE_DIR ${CMAKE_BINARY_DIR}/re2c-src)
set(RE2C_BINARY_DIR ${CMAKE_BINARY_DIR}/re2c-build)
ExternalProject_add(re2c
SOURCE_DIR ${RE2C_SOURCE_DIR}
BINARY_DIR ${RE2C_BINARY_DIR}
URL "https://github.com/skvadrik/re2c/releases/download/${RE2C_VERSION}/re2c-${RE2C_VERSION}.tar.xz"
CMAKE_CACHE_ARGS
-DRE2C_BUILD_RE2D:BOOL=OFF
-DRE2C_BUILD_RE2GO:BOOL=OFF
-DRE2C_BUILD_RE2HS:BOOL=OFF
-DRE2C_BUILD_RE2JAVA:BOOL=OFF
-DRE2C_BUILD_RE2JS:BOOL=OFF
-DRE2C_BUILD_RE2OCAML:BOOL=OFF
-DRE2C_BUILD_RE2PY:BOOL=OFF
-DRE2C_BUILD_RE2RUST:BOOL=OFF
-DRE2C_BUILD_RE2V:BOOL=OFF
-DRE2C_BUILD_RE2ZIG:BOOL=OFF
-DBUILD_TESTING:BOOL=OFF
-DCMAKE_CXX_STANDARD_REQUIRED:BOOL=ON
-DCMAKE_CXX_STANDARD:STRING=11
-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
"-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}"
"-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}"
"-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}"
"-DCMAKE_C_FLAGS:STRING=${_re2c_build_flags}"
"-DCMAKE_CXX_FLAGS:STRING=${_re2c_build_flags}"
"-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}"
${_re2c_cache_args}
INSTALL_COMMAND ""
DEPENDS
)
install(SCRIPT ${RE2C_BINARY_DIR}/cmake_install.cmake)