Add clang check for -nopie option
authorBrenden Blanco <bblanco@gmail.com>
Fri, 11 Aug 2017 15:00:14 +0000 (08:00 -0700)
committerBrenden Blanco <bblanco@gmail.com>
Tue, 15 Aug 2017 16:23:33 +0000 (09:23 -0700)
The -no-pie option is not available in clang until 6.0. Per the
documentation, -nopie serves the same purpose as -no-pie (but not
-fno-pie). Hence, use the -nopie option when clang is in use as the CC.

Fixes: #1237
Signed-off-by: Brenden Blanco <bblanco@gmail.com>
src/lua/CMakeLists.txt

index 6ad0e87..48378ea 100644 (file)
@@ -24,7 +24,11 @@ if (LUAJIT_LIBRARIES AND LUAJIT)
        set_target_properties(bcc-lua PROPERTIES LINKER_LANGUAGE C)
        target_link_libraries(bcc-lua ${LUAJIT_LIBRARIES})
        target_link_libraries(bcc-lua -Wl,--whole-archive bcc-static -Wl,--no-whole-archive)
-       target_link_libraries(bcc-lua -no-pie)
+  if (CMAKE_C_COMPILER_ID MATCHES "Clang")
+    target_link_libraries(bcc-lua -nopie)
+  else()
+    target_link_libraries(bcc-lua -no-pie)
+  endif()
 
        install(TARGETS bcc-lua RUNTIME DESTINATION bin)
 endif()