Skip to content

Commit ac3135f

Browse files
committed
fix compatibility in old version cmake
1 parent a3b25de commit ac3135f

File tree

2 files changed

+20
-21
lines changed

2 files changed

+20
-21
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ auto/
1919
/bin/
2020
obj-intel64/
2121
.DS_Store
22+
llvm_mode/build/

llvm_mode/pass/CMakeLists.txt

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,35 @@ else()
1212
message(FATAL_ERROR "You haven't install LLVM !")
1313
endif()
1414

15-
if (NOT TARGET LLVMPassConfig)
1615

17-
EXECUTE_PROCESS(
18-
COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/../../common/src/config.rs
19-
COMMAND grep "pub const MAP_SIZE_POW2"
20-
COMMAND cut -f2 -d "="
21-
COMMAND grep -o "[[:digit:]]*"
22-
COMMAND tr -d "\n"
23-
OUTPUT_VARIABLE MAP_SIZE_POW2
24-
)
25-
message(STATUS "MAP_SIZE_POW2: ${MAP_SIZE_POW2}")
26-
16+
EXECUTE_PROCESS(
17+
COMMAND cat ${CMAKE_CURRENT_SOURCE_DIR}/../../common/src/config.rs
18+
COMMAND grep "pub const MAP_SIZE_POW2"
19+
COMMAND cut -f2 -d "="
20+
COMMAND grep -o "[[:digit:]]*"
21+
COMMAND tr -d "\n"
22+
OUTPUT_VARIABLE MAP_SIZE_POW2
23+
)
24+
message(STATUS "MAP_SIZE_POW2: ${MAP_SIZE_POW2}")
25+
26+
if (NOT TARGET LLVMPassConfig)
2727
add_library(LLVMPassConfig INTERFACE IMPORTED)
28-
# fix pass bug: https://github.com/sampsyo/llvm-pass-skeleton/issues/7#issuecomment-401834287
2928
set_target_properties(LLVMPassConfig PROPERTIES
3029
INTERFACE_COMPILE_OPTIONS "-fno-rtti" #-fpic
3130
INTERFACE_INCLUDE_DIRECTORIES "${LLVM_INCLUDE_DIRS}"
3231
INTERFACE_LINK_DIRECTORIES "${LLVM_LIBRARY_DIRS}"
33-
INTERFACE_LINK_OPTIONS "-Wl,-znodelete"
3432
INTERFACE_COMPILE_DEFINITIONS "LLVM_VERSION_MAJOR=${LLVM_VERSION_MAJOR};LLVM_VERSION_MINOR=${LLVM_VERSION_MINOR};MAP_SIZE_POW2=${MAP_SIZE_POW2}"
35-
# INTERFACE_COMPILE_FEATURES "cxx_std_11"
36-
)
37-
if(APPLE)
38-
set_target_properties(LLVMPassConfig PROPERTIES
39-
# User teor2345 reports that this is required to make things work on MacOS X.
40-
LINK_FLAGS "-Wl,-flat_namespace -Wl,-undefined,suppress"
33+
# INTERFACE_LINK_OPTIONS "-Wl,-znodelete"
4134
)
42-
endif(APPLE)
4335
endif()
4436

45-
set(CMAKE_CXX_STANDARD 11)
37+
set (CMAKE_CXX_STANDARD 11)
38+
# fix pass bug: https://github.com/sampsyo/llvm-pass-skeleton/issues/7#issuecomment-401834287
39+
set (CMAKE_MODULE_LINKER_FLAGS "-Wl,-znodelete")
40+
if(APPLE)
41+
# User teor2345 reports that this is required to make things work on MacOS X.
42+
set (CMAKE_MODULE_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -Wl,-flat_namespace -Wl,-undefined,suppress")
43+
endif(APPLE)
4644

4745
add_library(UnfoldBranchPass MODULE UnfoldBranchPass.cc)
4846
target_link_libraries(UnfoldBranchPass LLVMPassConfig)

0 commit comments

Comments
 (0)