Skip to content

Commit 91b4ee1

Browse files
authored
Update ExternalAntlr4Cpp.cmake
1 parent 61e43f1 commit 91b4ee1

File tree

1 file changed

+38
-18
lines changed

1 file changed

+38
-18
lines changed

cpp/buildAntlr4/ExternalAntlr4Cpp.cmake

Lines changed: 38 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -79,24 +79,44 @@ if(NOT DEFINED ANTLR4_WITH_STATIC_CRT)
7979
endif()
8080

8181
if(ANTLR4_ZIP_REPOSITORY)
82-
ExternalProject_Add(
83-
antlr4_runtime
84-
PREFIX antlr4_runtime
85-
URL ${ANTLR4_ZIP_REPOSITORY}
86-
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}
87-
if(MINGW) PATCH_COMMAND "/usr/bin/patch" "-p1" "<" "${ANTLR4_MINGW_PATCH}"
88-
BUILD_COMMAND ""
89-
BUILD_IN_SOURCE 1
90-
SOURCE_DIR ${ANTLR4_ROOT}
91-
SOURCE_SUBDIR runtime/Cpp
92-
CMAKE_CACHE_ARGS
93-
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
94-
-DWITH_STATIC_CRT:BOOL=${ANTLR4_WITH_STATIC_CRT}
95-
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
96-
# -DCMAKE_CXX_STANDARD:STRING=17 # if desired, compile the runtime with a different C++ standard
97-
# -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD} # alternatively, compile the runtime with the same C++ standard as the outer project
98-
INSTALL_COMMAND ""
99-
EXCLUDE_FROM_ALL 1)
82+
if(MINGW)
83+
ExternalProject_Add(
84+
antlr4_runtime
85+
PREFIX antlr4_runtime
86+
URL ${ANTLR4_ZIP_REPOSITORY}
87+
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}
88+
PATCH_COMMAND "/usr/bin/patch" "-p1" "<" "${ANTLR4_MINGW_PATCH}"
89+
BUILD_COMMAND ""
90+
BUILD_IN_SOURCE 1
91+
SOURCE_DIR ${ANTLR4_ROOT}
92+
SOURCE_SUBDIR runtime/Cpp
93+
CMAKE_CACHE_ARGS
94+
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
95+
-DWITH_STATIC_CRT:BOOL=${ANTLR4_WITH_STATIC_CRT}
96+
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
97+
# -DCMAKE_CXX_STANDARD:STRING=17 # if desired, compile the runtime with a different C++ standard
98+
# -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD} # alternatively, compile the runtime with the same C++ standard as the outer project
99+
INSTALL_COMMAND ""
100+
EXCLUDE_FROM_ALL 1)
101+
else()
102+
ExternalProject_Add(
103+
antlr4_runtime
104+
PREFIX antlr4_runtime
105+
URL ${ANTLR4_ZIP_REPOSITORY}
106+
DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}
107+
BUILD_COMMAND ""
108+
BUILD_IN_SOURCE 1
109+
SOURCE_DIR ${ANTLR4_ROOT}
110+
SOURCE_SUBDIR runtime/Cpp
111+
CMAKE_CACHE_ARGS
112+
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
113+
-DWITH_STATIC_CRT:BOOL=${ANTLR4_WITH_STATIC_CRT}
114+
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
115+
# -DCMAKE_CXX_STANDARD:STRING=17 # if desired, compile the runtime with a different C++ standard
116+
# -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD} # alternatively, compile the runtime with the same C++ standard as the outer project
117+
INSTALL_COMMAND ""
118+
EXCLUDE_FROM_ALL 1)
119+
endif()
100120
else()
101121
ExternalProject_Add(
102122
antlr4_runtime

0 commit comments

Comments
 (0)